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 2016/12/02 16:20:00 UTC
ambari git commit: AMBARI-19053. RU: wrong version exposed when
Downgrade is going (ncole)
Repository: ambari
Updated Branches:
refs/heads/trunk 232a9d87e -> 7eb2eaa73
AMBARI-19053. RU: wrong version exposed when Downgrade is going (ncole)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7eb2eaa7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7eb2eaa7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7eb2eaa7
Branch: refs/heads/trunk
Commit: 7eb2eaa73315189533e039b45cf90655adf25390
Parents: 232a9d8
Author: Nate Cole <nc...@hortonworks.com>
Authored: Thu Dec 1 16:26:21 2016 -0500
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Fri Dec 2 11:19:20 2016 -0500
----------------------------------------------------------------------
.../internal/UpgradeResourceProvider.java | 24 ++++++++++++++++----
.../internal/UpgradeResourceProviderTest.java | 4 ++--
2 files changed, 22 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb2eaa7/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 9034989..5931743 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
@@ -758,13 +758,17 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
upgradeContext.setSupportedServices(supportedServices);
upgradeContext.setScope(scope);
+ String downgradeFromVersion = null;
+
if (direction.isDowngrade()) {
if (requestMap.containsKey(UPGRADE_FROM_VERSION)) {
- upgradeContext.setDowngradeFromVersion((String) requestMap.get(UPGRADE_FROM_VERSION));
+ downgradeFromVersion = (String) requestMap.get(UPGRADE_FROM_VERSION);
} else {
UpgradeEntity lastUpgradeItemForCluster = s_upgradeDAO.findLastUpgradeForCluster(cluster.getClusterId());
- upgradeContext.setDowngradeFromVersion(lastUpgradeItemForCluster.getToVersion());
+ downgradeFromVersion = lastUpgradeItemForCluster.getToVersion();
}
+
+ upgradeContext.setDowngradeFromVersion(downgradeFromVersion);
}
// optionally skip failures - this can be supplied on either the request or
@@ -922,7 +926,13 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
}
UpgradeEntity entity = new UpgradeEntity();
- entity.setFromVersion(cluster.getCurrentClusterVersion().getRepositoryVersion().getVersion());
+
+ if (null != downgradeFromVersion) {
+ entity.setFromVersion(downgradeFromVersion);
+ } else {
+ entity.setFromVersion(cluster.getCurrentClusterVersion().getRepositoryVersion().getVersion());
+ }
+
entity.setToVersion(version);
entity.setUpgradeGroups(groupEntities);
entity.setClusterId(cluster.getClusterId());
@@ -931,7 +941,13 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
entity.setUpgradeType(pack.getType());
entity.setAutoSkipComponentFailures(skipComponentFailures);
entity.setAutoSkipServiceCheckFailures(skipServiceCheckFailures);
- entity.setDowngradeAllowed(pack.isDowngradeAllowed());
+
+ if (upgradeContext.getDirection().isDowngrade()) {
+ // !!! You can't downgrade a Downgrade, no matter what the upgrade pack says.
+ entity.setDowngradeAllowed(false);
+ } else {
+ entity.setDowngradeAllowed(pack.isDowngradeAllowed());
+ }
req.getRequestStatusResponse();
return createUpgradeInsideTransaction(cluster, req, entity);
http://git-wip-us.apache.org/repos/asf/ambari/blob/7eb2eaa7/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 14e3d08..8efcc61 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
@@ -708,7 +708,7 @@ public class UpgradeResourceProviderTest {
UpgradeEntity entity = upgradeDao.findUpgrade(Long.parseLong(id));
assertNotNull(entity);
- assertEquals("2.1.1", entity.getFromVersion());
+ assertEquals("2.1.1.0", entity.getFromVersion());
assertEquals("2.2.0.0", entity.getToVersion());
assertEquals(Direction.DOWNGRADE, entity.getDirection());
@@ -1249,7 +1249,7 @@ public class UpgradeResourceProviderTest {
Map<String, String> map = gson.<Map<String, String>> fromJson(se.getCommandParamsStage(),Map.class);
assertTrue(map.containsKey("upgrade_direction"));
assertEquals("upgrade", map.get("upgrade_direction"));
-
+
if(map.containsKey("upgrade_type")){
assertEquals("rolling_upgrade", map.get("upgrade_type"));
}