diff options
author | Tim Thorpe <tthorpe@apache.org> | 2016-10-14 08:36:17 -0700 |
---|---|---|
committer | Tim Thorpe <tthorpe@apache.org> | 2016-10-14 08:36:17 -0700 |
commit | b1f054b1af15a3c0b207a1e75e33f4e947756126 (patch) | |
tree | 472850d04696ee74869bd5d7728a73487dd7f966 | |
parent | 559a12030ff41ee3f14b929a7e230994d2c6bcad (diff) |
AMBARI-18594 - AMBARI-18051 Breaks Stack Upgrade Checks
2 files changed, 8 insertions, 3 deletions
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java index 7e54f83a7b..adbd7cb9a0 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java @@ -25,6 +25,7 @@ import java.util.Map; import java.util.Set; import org.apache.ambari.server.AmbariException; +import org.apache.ambari.server.ParentObjectNotFoundException; import org.apache.ambari.server.StaticallyInject; import org.apache.ambari.server.checks.AbstractCheckDescriptor; import org.apache.ambari.server.checks.UpgradeCheckRegistry; @@ -195,11 +196,15 @@ public class PreUpgradeCheckResourceProvider extends ReadOnlyResourceProvider { try { // Register all the custom prechecks from the services - Map<String, ServiceInfo> services = getManagementController().getAmbariMetaInfo().getServices(stackName, upgradePack.getTarget()); + Map<String, ServiceInfo> services = getManagementController().getAmbariMetaInfo().getServices(stackName, sourceStackVersion); List<AbstractCheckDescriptor> serviceLevelUpgradeChecksToRun = upgradeCheckRegistry.getServiceLevelUpgradeChecks(upgradePack, services); upgradeChecksToRun.addAll(serviceLevelUpgradeChecksToRun); + } catch (ParentObjectNotFoundException parentNotFoundException) { + LOG.error("Invalid stack version: " + stackName + "-" + sourceStackVersion, parentNotFoundException); } catch (AmbariException ambariException) { LOG.error("Unable to register all the custom prechecks from the services", ambariException); + } catch (Exception e) { + LOG.error("Failed to register custom prechecks for the services", e); } for (PrerequisiteCheck prerequisiteCheck : checkHelper.performChecks(upgradeCheckRequest, upgradeChecksToRun)) { diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java index 6a0fa1254d..2f3021530d 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java @@ -147,9 +147,9 @@ public class PreUpgradeCheckResourceProviderTest { prerequisiteChecks.add("org.apache.ambari.server.sample.checks.SampleServiceCheck"); expect(upgradePack.getPrerequisiteCheckConfig()).andReturn(config); expect(upgradePack.getPrerequisiteChecks()).andReturn(prerequisiteChecks).anyTimes(); - expect(upgradePack.getTarget()).andReturn("1.1").anyTimes(); + expect(upgradePack.getTarget()).andReturn("1.1.*.*").anyTimes(); - expect(ambariMetaInfo.getServices("Stack100", "1.1")).andReturn(allServiceInfoMap).anyTimes(); + expect(ambariMetaInfo.getServices("Stack100", "1.0")).andReturn(allServiceInfoMap).anyTimes(); String checks = ClassLoader.getSystemClassLoader().getResource("checks").getPath(); expect(serviceInfo.getChecksFolder()).andReturn(new File(checks)); |