AMBARI-21039. Atlas web UI inaccessible after adding Atlas service on upgraded 
cluster with Hive because /etc/atlas/conf symlink was created ahead of time 
(alejandro)


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

Branch: refs/heads/branch-feature-AMBARI-12556
Commit: 9cb87011c716e6fc8eeec0b2ca57a75fa9c7d2d9
Parents: 2e27f66
Author: Alejandro Fernandez <afernan...@hortonworks.com>
Authored: Thu May 18 12:16:33 2017 -0400
Committer: Alejandro Fernandez <afernan...@hortonworks.com>
Committed: Thu May 18 12:16:33 2017 -0400

----------------------------------------------------------------------
 .../libraries/functions/conf_select.py                 | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/9cb87011/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
----------------------------------------------------------------------
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
index ce00f0c..facf186 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
@@ -356,11 +356,16 @@ def select(stack_name, package, version, try_create=True, 
ignore_errors=False):
               then the Atlas RPM will not be able to copy its artifacts into 
/etc/atlas/conf directory and therefore
               prevent Ambari from by copying those unmanaged contents into 
/etc/atlas/$version/0
               '''
-              parent_dir = os.path.dirname(current_dir)
-              if os.path.exists(parent_dir):
-                Link(conf_dir, to=current_dir)
+              component_list = default("/localComponents", [])
+              if "ATLAS_SERVER" in component_list or "ATLAS_CLIENT" in 
component_list:
+                Logger.info("Atlas is installed on this host.")
+                parent_dir = os.path.dirname(current_dir)
+                if os.path.exists(parent_dir):
+                  Link(conf_dir, to=current_dir)
+                else:
+                  Logger.info("Will not create symlink from {0} to {1} because 
the destination's parent dir does not exist.".format(conf_dir, current_dir))
               else:
-                Logger.info("Will not create symlink from {0} to {1} because 
the destination's parent dir does not exist.".format(conf_dir, current_dir))
+                Logger.info("Will not create symlink from {0} to {1} because 
Atlas is not installed on this host.".format(conf_dir, current_dir))
             else:
               # Normal path for other packages
               Link(conf_dir, to=current_dir)

Reply via email to