You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by dm...@apache.org on 2015/10/27 09:17:24 UTC
[1/2] ambari git commit: AMBARI-12706. Stop-and-Start Upgrade: Handle
Downgrade path (additional patch) (dgrinenko via dlysnichenko)
Repository: ambari
Updated Branches:
refs/heads/branch-2.1 9c6300e42 -> 961b9d103
refs/heads/trunk f9e73665b -> 2aef6ff29
AMBARI-12706. Stop-and-Start Upgrade: Handle Downgrade path (additional patch) (dgrinenko via dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/961b9d10
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/961b9d10
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/961b9d10
Branch: refs/heads/branch-2.1
Commit: 961b9d10368e40fcf2e3ace2e6a1562c436f121d
Parents: 9c6300e
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Tue Oct 27 10:15:51 2015 +0200
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Tue Oct 27 10:15:51 2015 +0200
----------------------------------------------------------------------
.../internal/UpgradeResourceProvider.java | 24 +++++++++++---
.../ambari/server/state/UpgradeContext.java | 2 +-
.../HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml | 6 ++--
.../HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml | 6 ++--
.../HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml | 34 +++++++++++++++-----
.../HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml | 12 +++----
.../server/state/stack/UpgradePackTest.java | 2 --
.../2.1.1/upgrades/upgrade_test_nonrolling.xml | 2 ++
8 files changed, 57 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/961b9d10/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 bb036e8..c579417 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
@@ -96,8 +96,10 @@ import org.apache.ambari.server.state.stack.upgrade.ConfigureTask;
import org.apache.ambari.server.state.stack.upgrade.Direction;
import org.apache.ambari.server.state.stack.upgrade.Grouping;
import org.apache.ambari.server.state.stack.upgrade.ManualTask;
+import org.apache.ambari.server.state.stack.upgrade.RestartGrouping;
import org.apache.ambari.server.state.stack.upgrade.ServerSideActionTask;
import org.apache.ambari.server.state.stack.upgrade.StageWrapper;
+import org.apache.ambari.server.state.stack.upgrade.StopGrouping;
import org.apache.ambari.server.state.stack.upgrade.Task;
import org.apache.ambari.server.state.stack.upgrade.TaskWrapper;
import org.apache.ambari.server.state.stack.upgrade.UpdateStackGrouping;
@@ -663,10 +665,20 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
throw new AmbariException(String.format("%s is required", UPGRADE_CLUSTER_NAME));
}
+ // Default to ROLLING upgrade, but attempt to read from properties.
+ UpgradeType upgradeType = UpgradeType.ROLLING;
+ if (requestMap.containsKey(UPGRADE_TYPE)) {
+ try {
+ upgradeType = UpgradeType.valueOf(requestMap.get(UPGRADE_TYPE).toString());
+ } catch(Exception e){
+ throw new AmbariException(String.format("Property %s has an incorrect value of %s.", UPGRADE_TYPE, requestMap.get(UPGRADE_TYPE)));
+ }
+ }
+
Cluster cluster = getManagementController().getClusters().getCluster(clusterName);
ConfigHelper configHelper = getManagementController().getConfigHelper();
- // the version being upgraded or downgraded to (ie hdp-2.2.1.0-1234)
+ // the version being upgraded or downgraded to (ie 2.2.1.0-1234)
final String version = (String) requestMap.get(UPGRADE_VERSION);
MasterHostResolver resolver = direction.isUpgrade()
@@ -793,13 +805,17 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
itemEntities.add(itemEntity);
// At this point, need to change the effective Stack Id so that subsequent tasks run on the newer value.
- // TODO AMBARI-12698, check if this works during a Stop-the-World Downgrade.
- if (UpdateStackGrouping.class.equals(group.groupClass)) {
+ if (upgradeType == UpgradeType.NON_ROLLING && UpdateStackGrouping.class.equals(group.groupClass)) {
+ if (direction.isUpgrade()) {
+ ctx.setEffectiveStackId(ctx.getTargetStackId());
+ } else {
+ ctx.setEffectiveStackId(ctx.getOriginalStackId());
+ }
+ } else if (UpdateStackGrouping.class.equals(group.groupClass)) {
ctx.setEffectiveStackId(ctx.getTargetStackId());
}
injectVariables(configHelper, cluster, itemEntity);
-
makeServerSideStage(ctx, req, itemEntity, (ServerSideActionTask) task, skippable,
allowRetry, configUpgradePack);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/961b9d10/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
index e029c97..f5ec40a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
@@ -117,7 +117,7 @@ public class UpgradeContext {
m_effectiveStackId = targetStackId;
break;
case NON_ROLLING:
- m_effectiveStackId = sourceStackId;
+ m_effectiveStackId = (direction.isUpgrade())? sourceStackId : targetStackId;
break;
default:
m_effectiveStackId = targetStackId;
http://git-wip-us.apache.org/repos/asf/ambari/blob/961b9d10/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
index 6d345a5..9ad2283 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
@@ -46,6 +46,7 @@
</group>
<group xsi:type="stop" name="STOP_HIGH_LEVEL_SERVICE_COMPONENTS" title="Stop Components for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -117,6 +118,7 @@
</group>
<group xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core Services (HDFS, HBase, ZooKeeper and Ranger)">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -138,10 +140,6 @@
</service>
</group>
- <group name="Marker for Downgrade" title="Marker for Downgrade">
- <direction>UPGRADE</direction>
- <!-- TODO, if the user attempts a downgrade before this step, they can simply abort. -->
- </group>
<group xsi:type="cluster" name="Restore Backups" title="Restore Backups">
<direction>DOWNGRADE</direction>
http://git-wip-us.apache.org/repos/asf/ambari/blob/961b9d10/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
index 989636f..a2f1c94 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
@@ -47,6 +47,7 @@
</group>
<group xsi:type="stop" name="STOP_HIGH_LEVEL_SERVICE_COMPONENTS" title="Stop Components for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -142,6 +143,7 @@
</group>
<group xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core Services (HDFS, HBase, ZooKeeper and Ranger)">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -168,10 +170,6 @@
</service>
</group>
- <group name="Marker for Downgrade" title="Marker for Downgrade">
- <direction>UPGRADE</direction>
- <!-- TODO, if the user attempts a downgrade before this step, they can simply abort. -->
- </group>
<group xsi:type="cluster" name="Restore Backups" title="Restore Backups">
<direction>DOWNGRADE</direction>
http://git-wip-us.apache.org/repos/asf/ambari/blob/961b9d10/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
index abf142e..6a939d0 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
@@ -21,10 +21,8 @@
<target>2.3.*.*</target>
<target-stack>HDP-2.3</target-stack>
<type>NON_ROLLING</type>
- <downgrade-allowed>false</downgrade-allowed>
- <prechecks>
- <!--TODO: do we have any?-->
- </prechecks>
+ <prerequisite-checks>
+ </prerequisite-checks>
<order>
<group xsi:type="cluster" name="PRE_CLUSTER" title="Prepare Upgrade">
<skippable>true</skippable>
@@ -48,7 +46,30 @@
</execute-stage>
</group>
+ <!--
+ On an HDP 2.3 to 2.2 downgrade, the /etc/component/conf must be turned back from a symlink
+ into a normal directory. This will avoid the circular symbolic link that will happen after
+ hdp-select sets /usr/hdp/current/component back to 2.2:
+
+ # new symlink created for 2.3
+ /etc/flume/conf -> /usr/hdp/current/flume-server/conf
+
+ # circular reference from 2.2 (current)
+ /usr/hdp/2.2.0.0-1234/flume/conf -> /etc/flume/conf
+ /usr/hdp/current/flume-server/conf -> /etc/flume/conf
+ -->
+ <group xsi:type="cluster" name="RESTORE_CONFIG_DIRS" title="Restore Configuration Directories">
+ <direction>DOWNGRADE</direction>
+ <execute-stage title="Restore configuration directories and remove HDP 2.3 symlinks">
+ <task xsi:type="execute">
+ <script>scripts/ru_set_all.py</script>
+ <function>unlink_all_configs</function>
+ </task>
+ </execute-stage>
+ </group>
+
<group xsi:type="stop" name="STOP_HIGH_LEVEL_SERVICE_COMPONENTS" title="Stop Components for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -147,6 +168,7 @@
</group>
<group xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core Services (HDFS, HBase, ZooKeeper and Ranger)">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -173,10 +195,6 @@
</service>
</group>
- <group name="Marker for Downgrade" title="Marker for Downgrade">
- <direction>UPGRADE</direction>
- <!-- TODO, if the user attempts a downgrade before this step, they can simply abort. -->
- </group>
<group xsi:type="cluster" name="Restore Backups" title="Restore Backups">
<direction>DOWNGRADE</direction>
http://git-wip-us.apache.org/repos/asf/ambari/blob/961b9d10/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
index 6eca441..407b22b 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
@@ -21,9 +21,8 @@
<target>2.3.*.*</target>
<target-stack>HDP-2.3</target-stack>
<type>NON_ROLLING</type>
- <prechecks>
- <!--TODO: do we have any?-->
- </prechecks>
+ <prerequisite-checks>
+ </prerequisite-checks>
<order>
<group xsi:type="cluster" name="PRE_CLUSTER" title="Prepare Upgrade">
<skippable>true</skippable>
@@ -48,6 +47,7 @@
</group>
<group xsi:type="stop" name="STOP_HIGH_LEVEL_SERVICE_COMPONENTS" title="Stop Components for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -150,6 +150,7 @@
</group>
<group xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core Services (HDFS, HBase, ZooKeeper and Ranger)">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -179,11 +180,6 @@
</service>
</group>
- <group name="Marker for Downgrade" title="Marker for Downgrade">
- <direction>UPGRADE</direction>
- <!-- TODO (Alejandro), if the user attempts a downgrade before this step, they can simply abort. -->
- </group>
-
<group xsi:type="cluster" name="Restore Backups" title="Restore Backups">
<direction>DOWNGRADE</direction>
<skippable>true</skippable>
http://git-wip-us.apache.org/repos/asf/ambari/blob/961b9d10/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
index 2b49a51..c277487 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
@@ -244,8 +244,6 @@ public class UpgradePackTest {
"POST_CLUSTER");
List<String> expected_down = Arrays.asList(
- "Stop High-Level Daemons",
- "Stop Low-Level Daemons",
"Restore Backups",
"UPDATE_DESIRED_STACK_ID",
"ALL_HOST_OPS",
http://git-wip-us.apache.org/repos/asf/ambari/blob/961b9d10/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml b/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml
index c1e03e0..4c1f472 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml
@@ -45,6 +45,7 @@
</group>
<group xsi:type="stop" name="Stop High-Level Daemons" title="Stop Daemons for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -72,6 +73,7 @@
</group>
<group xsi:type="stop" name="Stop Low-Level Daemons" title="Stop Daemons for Low-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
[2/2] ambari git commit: AMBARI-12706. Stop-and-Start Upgrade: Handle
Downgrade path (additional patch) (dgrinenko via dlysnichenko)
Posted by dm...@apache.org.
AMBARI-12706. Stop-and-Start Upgrade: Handle Downgrade path (additional patch) (dgrinenko via dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2aef6ff2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2aef6ff2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2aef6ff2
Branch: refs/heads/trunk
Commit: 2aef6ff29882ad9349c8874945aab40a51c6d1e2
Parents: f9e7366
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Tue Oct 27 10:15:51 2015 +0200
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Tue Oct 27 10:17:05 2015 +0200
----------------------------------------------------------------------
.../internal/UpgradeResourceProvider.java | 24 +++++++++++---
.../ambari/server/state/UpgradeContext.java | 2 +-
.../HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml | 6 ++--
.../HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml | 6 ++--
.../HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml | 34 +++++++++++++++-----
.../HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml | 12 +++----
.../server/state/stack/UpgradePackTest.java | 2 --
.../2.1.1/upgrades/upgrade_test_nonrolling.xml | 2 ++
8 files changed, 57 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/2aef6ff2/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 c253d1f..9b6176c 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
@@ -96,8 +96,10 @@ import org.apache.ambari.server.state.stack.upgrade.ConfigureTask;
import org.apache.ambari.server.state.stack.upgrade.Direction;
import org.apache.ambari.server.state.stack.upgrade.Grouping;
import org.apache.ambari.server.state.stack.upgrade.ManualTask;
+import org.apache.ambari.server.state.stack.upgrade.RestartGrouping;
import org.apache.ambari.server.state.stack.upgrade.ServerSideActionTask;
import org.apache.ambari.server.state.stack.upgrade.StageWrapper;
+import org.apache.ambari.server.state.stack.upgrade.StopGrouping;
import org.apache.ambari.server.state.stack.upgrade.Task;
import org.apache.ambari.server.state.stack.upgrade.TaskWrapper;
import org.apache.ambari.server.state.stack.upgrade.UpdateStackGrouping;
@@ -663,10 +665,20 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
throw new AmbariException(String.format("%s is required", UPGRADE_CLUSTER_NAME));
}
+ // Default to ROLLING upgrade, but attempt to read from properties.
+ UpgradeType upgradeType = UpgradeType.ROLLING;
+ if (requestMap.containsKey(UPGRADE_TYPE)) {
+ try {
+ upgradeType = UpgradeType.valueOf(requestMap.get(UPGRADE_TYPE).toString());
+ } catch(Exception e){
+ throw new AmbariException(String.format("Property %s has an incorrect value of %s.", UPGRADE_TYPE, requestMap.get(UPGRADE_TYPE)));
+ }
+ }
+
Cluster cluster = getManagementController().getClusters().getCluster(clusterName);
ConfigHelper configHelper = getManagementController().getConfigHelper();
- // the version being upgraded or downgraded to (ie hdp-2.2.1.0-1234)
+ // the version being upgraded or downgraded to (ie 2.2.1.0-1234)
final String version = (String) requestMap.get(UPGRADE_VERSION);
MasterHostResolver resolver = direction.isUpgrade()
@@ -793,13 +805,17 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
itemEntities.add(itemEntity);
// At this point, need to change the effective Stack Id so that subsequent tasks run on the newer value.
- // TODO AMBARI-12698, check if this works during a Stop-the-World Downgrade.
- if (UpdateStackGrouping.class.equals(group.groupClass)) {
+ if (upgradeType == UpgradeType.NON_ROLLING && UpdateStackGrouping.class.equals(group.groupClass)) {
+ if (direction.isUpgrade()) {
+ ctx.setEffectiveStackId(ctx.getTargetStackId());
+ } else {
+ ctx.setEffectiveStackId(ctx.getOriginalStackId());
+ }
+ } else if (UpdateStackGrouping.class.equals(group.groupClass)) {
ctx.setEffectiveStackId(ctx.getTargetStackId());
}
injectVariables(configHelper, cluster, itemEntity);
-
makeServerSideStage(ctx, req, itemEntity, (ServerSideActionTask) task, skippable,
allowRetry, configUpgradePack);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/2aef6ff2/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
index a856ffc..40f0bd9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
@@ -117,7 +117,7 @@ public class UpgradeContext {
m_effectiveStackId = targetStackId;
break;
case NON_ROLLING:
- m_effectiveStackId = sourceStackId;
+ m_effectiveStackId = (direction.isUpgrade())? sourceStackId : targetStackId;
break;
default:
m_effectiveStackId = targetStackId;
http://git-wip-us.apache.org/repos/asf/ambari/blob/2aef6ff2/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
index 5c3fa87..29e54c3 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
@@ -47,6 +47,7 @@
</group>
<group xsi:type="stop" name="STOP_HIGH_LEVEL_SERVICE_COMPONENTS" title="Stop Components for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -118,6 +119,7 @@
</group>
<group xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core Services (HDFS, HBase, ZooKeeper and Ranger)">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -139,10 +141,6 @@
</service>
</group>
- <group name="Marker for Downgrade" title="Marker for Downgrade">
- <direction>UPGRADE</direction>
- <!-- TODO, if the user attempts a downgrade before this step, they can simply abort. -->
- </group>
<group xsi:type="cluster" name="Restore Backups" title="Restore Backups">
<direction>DOWNGRADE</direction>
http://git-wip-us.apache.org/repos/asf/ambari/blob/2aef6ff2/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
index c245cc5..63f9f8d 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
@@ -47,6 +47,7 @@
</group>
<group xsi:type="stop" name="STOP_HIGH_LEVEL_SERVICE_COMPONENTS" title="Stop Components for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -142,6 +143,7 @@
</group>
<group xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core Services (HDFS, HBase, ZooKeeper and Ranger)">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -168,10 +170,6 @@
</service>
</group>
- <group name="Marker for Downgrade" title="Marker for Downgrade">
- <direction>UPGRADE</direction>
- <!-- TODO, if the user attempts a downgrade before this step, they can simply abort. -->
- </group>
<group xsi:type="cluster" name="Restore Backups" title="Restore Backups">
<direction>DOWNGRADE</direction>
http://git-wip-us.apache.org/repos/asf/ambari/blob/2aef6ff2/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
index abf142e..6a939d0 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
@@ -21,10 +21,8 @@
<target>2.3.*.*</target>
<target-stack>HDP-2.3</target-stack>
<type>NON_ROLLING</type>
- <downgrade-allowed>false</downgrade-allowed>
- <prechecks>
- <!--TODO: do we have any?-->
- </prechecks>
+ <prerequisite-checks>
+ </prerequisite-checks>
<order>
<group xsi:type="cluster" name="PRE_CLUSTER" title="Prepare Upgrade">
<skippable>true</skippable>
@@ -48,7 +46,30 @@
</execute-stage>
</group>
+ <!--
+ On an HDP 2.3 to 2.2 downgrade, the /etc/component/conf must be turned back from a symlink
+ into a normal directory. This will avoid the circular symbolic link that will happen after
+ hdp-select sets /usr/hdp/current/component back to 2.2:
+
+ # new symlink created for 2.3
+ /etc/flume/conf -> /usr/hdp/current/flume-server/conf
+
+ # circular reference from 2.2 (current)
+ /usr/hdp/2.2.0.0-1234/flume/conf -> /etc/flume/conf
+ /usr/hdp/current/flume-server/conf -> /etc/flume/conf
+ -->
+ <group xsi:type="cluster" name="RESTORE_CONFIG_DIRS" title="Restore Configuration Directories">
+ <direction>DOWNGRADE</direction>
+ <execute-stage title="Restore configuration directories and remove HDP 2.3 symlinks">
+ <task xsi:type="execute">
+ <script>scripts/ru_set_all.py</script>
+ <function>unlink_all_configs</function>
+ </task>
+ </execute-stage>
+ </group>
+
<group xsi:type="stop" name="STOP_HIGH_LEVEL_SERVICE_COMPONENTS" title="Stop Components for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -147,6 +168,7 @@
</group>
<group xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core Services (HDFS, HBase, ZooKeeper and Ranger)">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -173,10 +195,6 @@
</service>
</group>
- <group name="Marker for Downgrade" title="Marker for Downgrade">
- <direction>UPGRADE</direction>
- <!-- TODO, if the user attempts a downgrade before this step, they can simply abort. -->
- </group>
<group xsi:type="cluster" name="Restore Backups" title="Restore Backups">
<direction>DOWNGRADE</direction>
http://git-wip-us.apache.org/repos/asf/ambari/blob/2aef6ff2/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
index 6eca441..407b22b 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
@@ -21,9 +21,8 @@
<target>2.3.*.*</target>
<target-stack>HDP-2.3</target-stack>
<type>NON_ROLLING</type>
- <prechecks>
- <!--TODO: do we have any?-->
- </prechecks>
+ <prerequisite-checks>
+ </prerequisite-checks>
<order>
<group xsi:type="cluster" name="PRE_CLUSTER" title="Prepare Upgrade">
<skippable>true</skippable>
@@ -48,6 +47,7 @@
</group>
<group xsi:type="stop" name="STOP_HIGH_LEVEL_SERVICE_COMPONENTS" title="Stop Components for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -150,6 +150,7 @@
</group>
<group xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core Services (HDFS, HBase, ZooKeeper and Ranger)">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -179,11 +180,6 @@
</service>
</group>
- <group name="Marker for Downgrade" title="Marker for Downgrade">
- <direction>UPGRADE</direction>
- <!-- TODO (Alejandro), if the user attempts a downgrade before this step, they can simply abort. -->
- </group>
-
<group xsi:type="cluster" name="Restore Backups" title="Restore Backups">
<direction>DOWNGRADE</direction>
<skippable>true</skippable>
http://git-wip-us.apache.org/repos/asf/ambari/blob/2aef6ff2/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
index 82a72be..eaf31f7 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
@@ -245,8 +245,6 @@ public class UpgradePackTest {
"POST_CLUSTER");
List<String> expected_down = Arrays.asList(
- "Stop High-Level Daemons",
- "Stop Low-Level Daemons",
"Restore Backups",
"UPDATE_DESIRED_STACK_ID",
"ALL_HOST_OPS",
http://git-wip-us.apache.org/repos/asf/ambari/blob/2aef6ff2/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml b/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml
index c1e03e0..4c1f472 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml
@@ -45,6 +45,7 @@
</group>
<group xsi:type="stop" name="Stop High-Level Daemons" title="Stop Daemons for High-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>
@@ -72,6 +73,7 @@
</group>
<group xsi:type="stop" name="Stop Low-Level Daemons" title="Stop Daemons for Low-Level Services">
+ <direction>UPGRADE</direction>
<skippable>true</skippable>
<service-check>false</service-check>