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 <[email protected]>
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) {