You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mr...@apache.org on 2017/10/30 22:36:03 UTC
[37/56] [abbrv] ambari git commit: AMBARI-22312 - Downgrade From HDP
2.6 to 2.5 Leaves 2.6 Hosts as CURRENT Instead of INSTALLED (jonathanhurley)
AMBARI-22312 - Downgrade From HDP 2.6 to 2.5 Leaves 2.6 Hosts as CURRENT Instead of INSTALLED (jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/83e8b672
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/83e8b672
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/83e8b672
Branch: refs/heads/branch-feature-AMBARI-14714
Commit: 83e8b67223cc35134476adf7c79e365c74b808d4
Parents: d1d118d
Author: Jonathan Hurley <jh...@hortonworks.com>
Authored: Wed Oct 25 20:06:55 2017 -0400
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Wed Oct 25 20:06:55 2017 -0400
----------------------------------------------------------------------
.../AmbariManagementControllerImpl.java | 13 +++--
.../upgrades/FinalizeUpgradeAction.java | 54 ++++++++++----------
2 files changed, 36 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/83e8b672/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index 1b1f524..380e1b4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -909,9 +909,16 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
StackId stackId = null;
if (null != service) {
- Service svc = cluster.getService(service);
- stackId = svc.getDesiredStackId();
- } else {
+ try {
+ Service svc = cluster.getService(service);
+ stackId = svc.getDesiredStackId();
+ } catch (AmbariException ambariException) {
+ LOG.warn("Adding configurations for {} even though its parent service {} is not installed",
+ configType, service);
+ }
+ }
+
+ if (null == stackId) {
stackId = cluster.getDesiredStackVersion();
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/83e8b672/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java
index 87ea1fc..755f28e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java
@@ -200,7 +200,7 @@ public class FinalizeUpgradeAction extends AbstractUpgradeServerAction {
// move host versions from CURRENT to INSTALLED if their repos are no
// longer used
- finalizeHostRepositoryVersions(cluster);
+ finalizeHostVersionsNotDesired(cluster);
if (upgradeContext.getOrchestrationType() == RepositoryType.STANDARD) {
outSB.append(String.format("Finalizing the version for cluster %s.\n", cluster.getClusterName()));
@@ -280,38 +280,36 @@ public class FinalizeUpgradeAction extends AbstractUpgradeServerAction {
throw new AmbariException(messageBuff.toString());
}
+ finalizeHostVersionsNotDesired(cluster);
- if (upgradeContext.isPatchRevert()) {
- finalizeHostRepositoryVersions(cluster);
- } else {
- // for every repository being downgraded to, ensure the host versions are correct
- Map<String, RepositoryVersionEntity> targetVersionsByService = upgradeContext.getTargetVersions();
- Set<RepositoryVersionEntity> targetRepositoryVersions = new HashSet<>();
- for (String service : targetVersionsByService.keySet()) {
- targetRepositoryVersions.add(targetVersionsByService.get(service));
- }
+ // for every repository being downgraded to, ensure the host versions are correct
+ Map<String, RepositoryVersionEntity> targetVersionsByService = upgradeContext.getTargetVersions();
+ Set<RepositoryVersionEntity> targetRepositoryVersions = new HashSet<>();
+ for (String service : targetVersionsByService.keySet()) {
+ targetRepositoryVersions.add(targetVersionsByService.get(service));
+ }
- for (RepositoryVersionEntity targetRepositoryVersion : targetRepositoryVersions) {
- // find host versions
- List<HostVersionEntity> hostVersions = hostVersionDAO.findHostVersionByClusterAndRepository(
- cluster.getClusterId(), targetRepositoryVersion);
+ // move host versions in the downgrade back to CURRENT if they are not
+ for (RepositoryVersionEntity targetRepositoryVersion : targetRepositoryVersions) {
+ // find host versions
+ List<HostVersionEntity> hostVersions = hostVersionDAO.findHostVersionByClusterAndRepository(
+ cluster.getClusterId(), targetRepositoryVersion);
- outSB.append(String.format("Finalizing %d host(s) back to %s", hostVersions.size(),
- targetRepositoryVersion.getVersion())).append(System.lineSeparator());
+ outSB.append(String.format("Finalizing %d host(s) back to %s", hostVersions.size(),
+ targetRepositoryVersion.getVersion())).append(System.lineSeparator());
- for (HostVersionEntity hostVersion : hostVersions) {
- if (hostVersion.getState() != RepositoryVersionState.CURRENT) {
- hostVersion.setState(RepositoryVersionState.CURRENT);
- hostVersionDAO.merge(hostVersion);
- }
+ for (HostVersionEntity hostVersion : hostVersions) {
+ if (hostVersion.getState() != RepositoryVersionState.CURRENT) {
+ hostVersion.setState(RepositoryVersionState.CURRENT);
+ hostVersionDAO.merge(hostVersion);
+ }
- List<HostComponentStateEntity> hostComponentStates = hostComponentStateDAO.findByHost(
- hostVersion.getHostName());
+ List<HostComponentStateEntity> hostComponentStates = hostComponentStateDAO.findByHost(
+ hostVersion.getHostName());
- for (HostComponentStateEntity hostComponentState : hostComponentStates) {
- hostComponentState.setUpgradeState(UpgradeState.NONE);
- hostComponentStateDAO.merge(hostComponentState);
- }
+ for (HostComponentStateEntity hostComponentState : hostComponentStates) {
+ hostComponentState.setUpgradeState(UpgradeState.NONE);
+ hostComponentStateDAO.merge(hostComponentState);
}
}
}
@@ -406,7 +404,7 @@ public class FinalizeUpgradeAction extends AbstractUpgradeServerAction {
* @param cluster
* @throws AmbariException
*/
- private void finalizeHostRepositoryVersions(Cluster cluster) throws AmbariException {
+ private void finalizeHostVersionsNotDesired(Cluster cluster) throws AmbariException {
// create a set of all of the repos that the services are on
Set<RepositoryVersionEntity> desiredRepoVersions = new HashSet<>();
Set<String> serviceNames = cluster.getServices().keySet();