summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Thorpe <tthorpe@apache.org>2016-10-14 08:36:17 -0700
committerTim Thorpe <tthorpe@apache.org>2016-10-14 08:36:17 -0700
commitb1f054b1af15a3c0b207a1e75e33f4e947756126 (patch)
tree472850d04696ee74869bd5d7728a73487dd7f966
parent559a12030ff41ee3f14b929a7e230994d2c6bcad (diff)
AMBARI-18594 - AMBARI-18051 Breaks Stack Upgrade Checks
-rw-r--r--ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java7
-rw-r--r--ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java4
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));