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 2015/04/23 01:29:00 UTC
ambari git commit: AMBARI-10671. Verify upgrades across stacks use
correct Upgrade Pack (ncole)
Repository: ambari
Updated Branches:
refs/heads/trunk e4976458f -> 387ca9df4
AMBARI-10671. Verify upgrades across stacks use correct Upgrade Pack (ncole)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/387ca9df
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/387ca9df
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/387ca9df
Branch: refs/heads/trunk
Commit: 387ca9df4a90d2d28467631dfd565c17324484d2
Parents: e497645
Author: Nate Cole <nc...@hortonworks.com>
Authored: Wed Apr 22 16:58:16 2015 -0400
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Wed Apr 22 19:28:39 2015 -0400
----------------------------------------------------------------------
.../internal/UpgradeResourceProvider.java | 24 ++++++++++++++++----
.../internal/UpgradeResourceProviderTest.java | 20 ++++++----------
.../stacks/HDP/2.2.0/upgrades/upgrade_test.xml | 2 +-
3 files changed, 27 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/387ca9df/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
index 409b343..82b7307 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.HOOKS_FOLDER;
-import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.JDK_LOCATION;
import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.SERVICE_PACKAGE_FOLDER;
import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.VERSION;
@@ -417,7 +416,9 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
}
Cluster cluster = getManagementController().getClusters().getCluster(clusterName);
- StackId stack = cluster.getDesiredStackVersion();
+
+ // !!! find upgrade packs based on current stack. This is where to upgrade from.
+ StackId stack = cluster.getCurrentStackVersion();
String repoVersion = version;
@@ -428,16 +429,29 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
RepositoryVersionEntity versionEntity = s_repoVersionDAO.findMaxByVersion(repoVersion);
if (null == versionEntity) {
- throw new AmbariException(String.format("Version %s for stack %s was not found",
- repoVersion, stack.getStackVersion()));
+ throw new AmbariException(String.format("Repository version %s was not found",
+ repoVersion));
}
Map<String, UpgradePack> packs = s_metaProvider.get().getUpgradePacks(
- versionEntity.getStackName(), versionEntity.getStackVersion());
+ stack.getStackName(), stack.getStackVersion());
UpgradePack up = packs.get(versionEntity.getUpgradePackage());
if (null == up) {
+ // !!! in case there is an upgrade pack that doesn't match the name
+ String repoStackId = versionEntity.getStackId().getStackId();
+ for (UpgradePack upgradePack : packs.values()) {
+ if (null != upgradePack.getTargetStack() &&
+ upgradePack.getTargetStack().equals(repoStackId)) {
+ up = upgradePack;
+ break;
+ }
+ }
+ }
+
+
+ if (null == up) {
throw new AmbariException(String.format(
"Unable to perform %s. Could not locate upgrade pack %s for version %s",
direction.getText(false),
http://git-wip-us.apache.org/repos/asf/ambari/blob/387ca9df/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
index eeb8e75..5de2eac 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
@@ -620,19 +620,6 @@ public class UpgradeResourceProviderTest {
public void testCreateCrossStackUpgrade() throws Exception {
Cluster cluster = clusters.getCluster("c1");
- // add a single ZK server
-// Service service = cluster.addService("HDFS");
-// service.setDesiredStackVersion(cluster.getDesiredStackVersion());
-// service.persist();
-//
-// ServiceComponent component = service.addServiceComponent("NAMENODE");
-// ServiceComponentHost sch = component.addServiceComponentHost("h1");
-// sch.setVersion("2.2.2.1");
-//
-// component = service.addServiceComponent("HDFS_CLIENT");
-// sch = component.addServiceComponentHost("h1");
-// sch.setVersion("2.2.2.1");
-
Config config = new ConfigImpl("zoo.cfg");
config.setProperties(new HashMap<String, String>() {{
put("a", "b");
@@ -657,9 +644,16 @@ public class UpgradeResourceProviderTest {
UpgradeEntity upgrade = upgrades.get(0);
assertEquals(3, upgrade.getUpgradeGroups().size());
+
UpgradeGroupEntity group = upgrade.getUpgradeGroups().get(2);
assertEquals(2, group.getItems().size());
+ group = upgrade.getUpgradeGroups().get(0);
+ assertEquals(2, group.getItems().size());
+ UpgradeItemEntity item = group.getItems().get(1);
+ assertEquals("Value is set for the source stack upgrade pack",
+ "Foo", item.getText());
+
assertTrue(cluster.getDesiredConfigs().containsKey("zoo.cfg"));
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/387ca9df/ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml b/ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml
index 088d15f..08e69d7 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml
@@ -37,7 +37,7 @@
</execute-stage>
<execute-stage title="Confirm 2">
<task xsi:type="manual">
- <message>Foo</message>
+ <message>Goo</message>
</task>
</execute-stage>
</group>