Repository: ambari Updated Branches: refs/heads/trunk 9b0f63176 -> 10c7595a4
AMBARI-18594 - AMBARI-18051 Breaks Stack Upgrade Checks Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/10c7595a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/10c7595a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/10c7595a Branch: refs/heads/trunk Commit: 10c7595a4ac858ac5a095f2caf8770f1ea685c1c Parents: 9b0f631 Author: Tim Thorpe <ttho...@apache.org> Authored: Fri Oct 14 08:39:17 2016 -0700 Committer: Tim Thorpe <ttho...@apache.org> Committed: Fri Oct 14 08:39:17 2016 -0700 ---------------------------------------------------------------------- .../controller/internal/PreUpgradeCheckResourceProvider.java | 7 ++++++- .../internal/PreUpgradeCheckResourceProviderTest.java | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/10c7595a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java ---------------------------------------------------------------------- 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 7e54f83..adbd7cb 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)) { http://git-wip-us.apache.org/repos/asf/ambari/blob/10c7595a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java ---------------------------------------------------------------------- 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 6a0fa12..2f30215 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));