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