You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2014/12/16 15:37:23 UTC

ambari git commit: AMBARI-8728. upgrade_pack field not available in API call to stacks endpoint (ncole)

Repository: ambari
Updated Branches:
  refs/heads/trunk 523b0ca6c -> bdf269570


AMBARI-8728. upgrade_pack field not available in API call to stacks endpoint (ncole)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bdf26957
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bdf26957
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bdf26957

Branch: refs/heads/trunk
Commit: bdf2695708969a6e3d5fa3a7b1a77e252e85b82c
Parents: 523b0ca
Author: Nate Cole <nc...@hortonworks.com>
Authored: Tue Dec 16 08:56:35 2014 -0500
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Tue Dec 16 09:37:09 2014 -0500

----------------------------------------------------------------------
 .../server/controller/StackVersionResponse.java | 21 +++++++++++++++++++-
 .../internal/StackVersionResourceProvider.java  |  4 ++++
 .../apache/ambari/server/state/StackInfo.java   |  3 ++-
 .../src/main/resources/properties.json          |  1 +
 .../AmbariManagementControllerTest.java         | 11 +++++++++-
 5 files changed, 37 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/bdf26957/ambari-server/src/main/java/org/apache/ambari/server/controller/StackVersionResponse.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackVersionResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackVersionResponse.java
index 1263553..a8ab755 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackVersionResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackVersionResponse.java
@@ -20,7 +20,9 @@ package org.apache.ambari.server.controller;
 
 import java.io.File;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Map;
+import java.util.Set;
 
 
 public class StackVersionResponse {
@@ -45,12 +47,14 @@ public class StackVersionResponse {
    * This may be null or empty if no relevant files are available.
    */
   private Collection<File> serviceKerberosDescriptorFiles;
+  private Set<String> upgradePacks = Collections.emptySet();
 
   public StackVersionResponse(String stackVersion, String minUpgradeVersion,
                               boolean active, String parentVersion,
                               Map<String, Map<String, Map<String, String>>> configTypes,
                               File stackKerberosDescriptorFile,
-                              Collection<File> serviceKerberosDescriptorFiles) {
+                              Collection<File> serviceKerberosDescriptorFiles,
+                              Set<String> upgradePacks) {
     setStackVersion(stackVersion);
     setMinUpgradeVersion(minUpgradeVersion);
     setActive(active);
@@ -58,6 +62,7 @@ public class StackVersionResponse {
     setConfigTypes(configTypes);
     setKerberosDescriptorFile(stackKerberosDescriptorFile);
     setServiceKerberosDescriptorFiles(serviceKerberosDescriptorFiles);
+    setUpgradePacks(upgradePacks);
   }
 
   public String getStackName() {
@@ -146,4 +151,18 @@ public class StackVersionResponse {
   public void setServiceKerberosDescriptorFiles(Collection<File> serviceKerberosDescriptorFiles) {
     this.serviceKerberosDescriptorFiles = serviceKerberosDescriptorFiles;
   }
+  
+  /**
+   * @param upgradePacks the names of the upgrade packs for the stack version 
+   */
+  public void setUpgradePacks(Set<String> upgradePacks) {
+    this.upgradePacks = upgradePacks;
+  }
+  
+  /**
+   * @return the upgrade pack names for the stack version
+   */
+  public Set<String> getUpgradePacks() {
+    return upgradePacks;
+  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/bdf26957/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
index fa17f69..717be2f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
@@ -53,6 +53,7 @@ public class StackVersionResourceProvider extends ReadOnlyResourceProvider {
   public static final String STACK_CONFIG_TYPES            = PropertyHelper.getPropertyId("Versions", "config_types");
   public static final String STACK_PARENT_PROPERTY_ID      = PropertyHelper.getPropertyId("Versions", "parent_stack_version");
   public static final String KERBEROS_DESCRIPTOR_PROPERTY_ID = PropertyHelper.getPropertyId("Versions", "kerberos_descriptor");
+  public static final String UPGRADE_PACKS_PROPERTY_ID = PropertyHelper.getPropertyId("Versions", "upgrade_packs");
 
   private static Set<String> pkPropertyIds = new HashSet<String>(
       Arrays.asList(new String[] { STACK_NAME_PROPERTY_ID, STACK_VERSION_PROPERTY_ID }));
@@ -109,6 +110,9 @@ public class StackVersionResourceProvider extends ReadOnlyResourceProvider {
 
       setResourceProperty(resource, STACK_CONFIG_TYPES,
           response.getConfigTypes(), requestedIds);
+      
+      setResourceProperty(resource, UPGRADE_PACKS_PROPERTY_ID,
+          response.getUpgradePacks(), requestedIds);
 
       // TODO (rlevas): Convert this to an official resource
       KerberosDescriptor kerberosDescriptor;

http://git-wip-us.apache.org/repos/asf/ambari/blob/bdf26957/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java b/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
index 7c5d411..e4e2af1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
@@ -212,7 +212,8 @@ public class StackInfo implements Comparable<StackInfo>{
     return new StackVersionResponse(getVersion(), getMinUpgradeVersion(),
         isActive(), getParentStackVersion(), getConfigTypeAttributes(),
         (stackDescriptorFileFilePath == null) ? null : new File(stackDescriptorFileFilePath),
-        serviceDescriptorFiles);
+        serviceDescriptorFiles,
+        null == upgradePacks ? Collections.<String>emptySet() : upgradePacks.keySet());
   }
 
   public String getMinUpgradeVersion() {

http://git-wip-us.apache.org/repos/asf/ambari/blob/bdf26957/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json b/ambari-server/src/main/resources/properties.json
index c54e85e..31626af 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -204,6 +204,7 @@
         "Versions/parent_stack_version",
         "Versions/config_types",
         "Versions/kerberos_descriptor",
+        "Versions/upgrade_packs",
         "_"
     ],
     "StackService":[

http://git-wip-us.apache.org/repos/asf/ambari/blob/bdf26957/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
index 665d983..a7b2034 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
@@ -6950,7 +6950,6 @@ public class AmbariManagementControllerTest {
     Assert.assertEquals(1, responsesWithParams.size());
     for (StackVersionResponse responseWithParams: responsesWithParams) {
       Assert.assertEquals(responseWithParams.getStackVersion(), STACK_VERSION);
-
     }
 
     StackVersionRequest invalidRequest = new StackVersionRequest(STACK_NAME, NON_EXT_VALUE);
@@ -6959,6 +6958,16 @@ public class AmbariManagementControllerTest {
     } catch (StackAccessException e) {
       // do nothing
     }
+    
+    // test that a stack response has upgrade packs
+    requestWithParams = new StackVersionRequest(STACK_NAME, "2.1.1");
+    responsesWithParams = controller.getStackVersions(Collections.singleton(requestWithParams));
+    
+    Assert.assertEquals(1, responsesWithParams.size());
+    StackVersionResponse resp = responsesWithParams.iterator().next();
+    assertNotNull(resp.getUpgradePacks());
+    assertEquals(1, resp.getUpgradePacks().size());
+    assertTrue(resp.getUpgradePacks().contains("upgrade_test"));
   }
 
   @Test