You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ds...@apache.org on 2018/11/27 12:23:43 UTC
[ambari] branch trunk updated: [AMBARI-24914] Block Ozone datanode
co-location with HDFS Datanode when added though the API - additional fix
(dsen) (#2654)
This is an automated email from the ASF dual-hosted git repository.
dsen pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 02dd59b [AMBARI-24914] Block Ozone datanode co-location with HDFS Datanode when added though the API - additional fix (dsen) (#2654)
02dd59b is described below
commit 02dd59b6319a8f1ad15ad1c36dfb74aa7f74f3c4
Author: Dmitry Sen <ds...@apache.org>
AuthorDate: Tue Nov 27 14:23:39 2018 +0200
[AMBARI-24914] Block Ozone datanode co-location with HDFS Datanode when added though the API - additional fix (dsen) (#2654)
---
.../server/controller/AmbariManagementControllerImpl.java | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
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 096fc83..465d1ee 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
@@ -757,7 +757,9 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
throw new DuplicateResourceException(msg + names);
}
- validateExclusiveDependencies(hostComponentNames);
+ if (!isBlueprintProvisioned) {
+ validateExclusiveDependencies(hostComponentNames);
+ }
// set restartRequired flag for monitoring services
setMonitoringServicesRestartRequired(requests);
@@ -788,7 +790,13 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
for (DependencyInfo dependencyInfo : dependencyInfos) {
if ("host".equals(dependencyInfo.getScope()) && "exclusive".equals(dependencyInfo.getType())) {
- Service depService = clusters.getCluster(clusterEntry.getKey()).getService(dependencyInfo.getServiceName());
+ Service depService;
+ try {
+ depService = clusters.getCluster(clusterEntry.getKey()).getService(dependencyInfo.getServiceName());
+ } catch (ServiceNotFoundException e) {
+ LOG.debug("Skipping dependency " + dependencyInfo + " for " + serviceEntry.getKey() + " since the dependent service is not installed ");
+ continue;
+ }
if (depService != null && depService.getServiceComponents().containsKey(dependencyInfo.getComponentName())) {
ServiceComponent dependentSC = depService.getServiceComponent(dependencyInfo.getComponentName());
if (dependentSC != null) {