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 20:26:43 UTC

[45/50] [abbrv] ambari git commit: AMBARI-19053. RU: wrong version exposed when Downgrade is going (ncole)

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/branch-dev-patch-upgrade
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"));
       }