You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by gn...@apache.org on 2017/01/16 13:06:54 UTC

ambari git commit: AMBARI-19548 Auto instances cannot be created on cluster install (Ashwin Rajeev via gauravn7)

Repository: ambari
Updated Branches:
  refs/heads/trunk 816939498 -> bd0237636


AMBARI-19548 Auto instances cannot be created on cluster install (Ashwin Rajeev via gauravn7)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bd023763
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bd023763
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bd023763

Branch: refs/heads/trunk
Commit: bd02376367644a45e059e0b027f50cc09f4fb615
Parents: 8169394
Author: Gaurav Nagar <gr...@gmail.com>
Authored: Mon Jan 16 18:36:28 2017 +0530
Committer: Gaurav Nagar <gr...@gmail.com>
Committed: Mon Jan 16 18:36:28 2017 +0530

----------------------------------------------------------------------
 .../apache/ambari/server/view/ViewRegistry.java | 29 +++++++++++---------
 1 file changed, 16 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/bd023763/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
index df4a2f2..6316b5b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
@@ -119,6 +119,7 @@ import org.apache.ambari.view.events.Event;
 import org.apache.ambari.view.events.Listener;
 import org.apache.ambari.view.migration.ViewDataMigrationException;
 import org.apache.ambari.view.validation.Validator;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.log4j.PropertyConfigurator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -971,20 +972,18 @@ public class ViewRegistry {
         String viewName = viewEntity.getName();
         ViewConfig viewConfig = viewEntity.getConfiguration();
         AutoInstanceConfig autoConfig = viewConfig.getAutoInstance();
-        Collection<String> roles = autoConfig.getRoles();
+        Collection<String> roles = com.google.common.collect.Lists.newArrayList();
+        if (autoConfig != null && !CollectionUtils.isEmpty(autoConfig.getRoles())) {
+          roles.addAll(autoConfig.getRoles());
+        }
 
         try {
           if (checkAutoInstanceConfig(autoConfig, stackId, event.getServiceName(), serviceNames)) {
-
-            LOG.info("Auto creating instance of view " + viewName + " for cluster " + clusterName + ".");
-            ViewInstanceEntity viewInstanceEntity = createViewInstanceEntity(viewEntity, viewConfig, autoConfig);
-            viewInstanceEntity.setClusterHandle(clusterId);
-            installViewInstance(viewInstanceEntity);
-            setViewInstanceRoleAccess(viewInstanceEntity, roles);
+            installAutoInstance(clusterId, clusterName, viewEntity, viewName, viewConfig, autoConfig, roles);
           }
         } catch (Exception e) {
           LOG.error("Can't auto create instance of view " + viewName + " for cluster " + clusterName +
-              ".  Caught exception :" + e.getMessage(), e);
+            ".  Caught exception :" + e.getMessage(), e);
         }
       }
     } catch (AmbariException e) {
@@ -992,6 +991,14 @@ public class ViewRegistry {
     }
   }
 
+  private void installAutoInstance(Long clusterId, String clusterName, ViewEntity viewEntity, String viewName, ViewConfig viewConfig, AutoInstanceConfig autoConfig, Collection<String> roles) throws SystemException, ValidationException {
+    LOG.info("Auto creating instance of view " + viewName + " for cluster " + clusterName + ".");
+    ViewInstanceEntity viewInstanceEntity = createViewInstanceEntity(viewEntity, viewConfig, autoConfig);
+    viewInstanceEntity.setClusterHandle(clusterId);
+    installViewInstance(viewInstanceEntity);
+    setViewInstanceRoleAccess(viewInstanceEntity, roles);
+  }
+
   @Subscribe
   public void onClusterConfigFinishedEvent(ClusterConfigFinishedEvent event) {
     if (configuration.extractViewsAfterClusterConfig()) {
@@ -1851,11 +1858,7 @@ public class ViewRegistry {
         try {
 
           if (checkAutoInstanceConfig(autoInstanceConfig, stackId, service, serviceNames)) {
-            LOG.info("Auto creating instance of view " + viewName + " for cluster " + clusterName + ".");
-            ViewInstanceEntity viewInstanceEntity = createViewInstanceEntity(viewEntity, viewConfig, autoInstanceConfig);
-            viewInstanceEntity.setClusterHandle(clusterId);
-            installViewInstance(viewInstanceEntity);
-            setViewInstanceRoleAccess(viewInstanceEntity, roles);
+            installAutoInstance(clusterId, clusterName, viewEntity, viewName, viewConfig, autoInstanceConfig, roles);
           }
         } catch (Exception e) {
           LOG.error("Can't auto create instance of view " + viewName + " for cluster " + clusterName +