ambari git commit: AMBARI-19258 - Extension directories are not properly sync'd to agent nodes

2016-12-23 Thread tthorpe
Repository: ambari
Updated Branches:
  refs/heads/branch-2.5 7cd6755db -> f941c6f49


AMBARI-19258 - Extension directories are not properly sync'd to agent nodes


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

Branch: refs/heads/branch-2.5
Commit: f941c6f49158ab1d35d3d4b721db38e4180da14f
Parents: 7cd6755
Author: Tim Thorpe 
Authored: Fri Dec 23 09:22:22 2016 -0800
Committer: Tim Thorpe 
Committed: Fri Dec 23 09:22:22 2016 -0800

--
 .../python/ambari_server/resourceFilesKeeper.py |  20 +-
 .../src/test/python/TestResourceFilesKeeper.py  |  11 +-
 .../HIVE/configuration/hive-site.xml| 259 +++
 .../dummy_extension/HIVE/metainfo.xml   |  47 
 .../dummy_extension/HIVE/package/.hash  |   1 +
 .../HIVE/package/files/startHiveserver2.sh  |  22 ++
 .../HIVE/package/scripts/status_params.py   |  30 +++
 .../HIVE/package/templates/hcat-env.sh.j2   |  25 ++
 8 files changed, 413 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/f941c6f4/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py
--
diff --git a/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py 
b/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py
index 8047e7d..188f3ff 100644
--- a/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py
+++ b/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py
@@ -30,7 +30,7 @@ class KeeperException(Exception):
 
 class ResourceFilesKeeper():
   """
-  This class incapsulates all utility methods for resource files maintenance.
+  This class encapsulates all utility methods for resource files maintenance.
   """
 
   HOOKS_DIR="hooks"
@@ -40,6 +40,7 @@ class ResourceFilesKeeper():
   CUSTOM_ACTIONS_DIR="custom_actions"
   HOST_SCRIPTS_DIR="host_scripts"
   DASHBOARDS_DIR="dashboards"
+  EXTENSIONS_DIR="extensions"
 
   # For these directories archives are created
   ARCHIVABLE_DIRS = [HOOKS_DIR, PACKAGE_DIR]
@@ -107,6 +108,14 @@ class ResourceFilesKeeper():
 # Iterate over common services directories
 self._iter_update_directory_archive(valid_common_services)
 
+# archive extensions
+extensions_root = os.path.join(self.resources_dir, self.EXTENSIONS_DIR)
+self.dbg_out("Updating archives for extensions dirs at 
{0}...".format(extensions_root))
+valid_extensions = self.list_extensions(extensions_root)
+self.dbg_out("Extensions: {0}".format(pprint.pformat(valid_extensions)))
+# Iterate over extension directories
+self._iter_update_directory_archive(valid_extensions)
+
 # custom actions
 self._update_resources_subdir_archive(self.CUSTOM_ACTIONS_DIR)
 
@@ -145,6 +154,15 @@ class ResourceFilesKeeper():
 except Exception, err:
   raise KeeperException("Can not list common services: 
{0}".format(str(err)))
 
+  def list_extensions(self, root_dir):
+"""
+Builds a list of extension directories
+"""
+try:
+  return self._list_metainfo_dirs(root_dir)
+except Exception, err:
+  raise KeeperException("Can not list extensions: {0}".format(str(err)))
+
   def update_directory_archive(self, directory):
 """
 If hash sum for directory is not present or differs from saved value,

http://git-wip-us.apache.org/repos/asf/ambari/blob/f941c6f4/ambari-server/src/test/python/TestResourceFilesKeeper.py
--
diff --git a/ambari-server/src/test/python/TestResourceFilesKeeper.py 
b/ambari-server/src/test/python/TestResourceFilesKeeper.py
index 4801fad..4f7dc52 100644
--- a/ambari-server/src/test/python/TestResourceFilesKeeper.py
+++ b/ambari-server/src/test/python/TestResourceFilesKeeper.py
@@ -46,6 +46,9 @@ class TestResourceFilesKeeper(TestCase):
   DUMMY_UNCHANGEABLE_STACK = ".." + os.sep + "resources" + os.sep + 
"TestAmbaryServer.samples" + os.sep + \
"dummy_stack" + os.sep + "HIVE"
 
+  DUMMY_UNCHANGEABLE_EXTENSION = ".." + os.sep + "resources" + os.sep + 
"TestAmbaryServer.samples" + os.sep + \
+   "dummy_extension" + os.sep + "HIVE"
+
   DUMMY_ACTIVE_STACK = ".." + os.sep + "resources" + os.sep + 
"TestAmbaryServer.samples" + os.sep + \
"active_stack"
 
@@ -81,6 +84,7 @@ class TestResourceFilesKeeper(TestCase):
   "dummy_common_services/HIVE/0.11.0.2.0.5.0/package'),\n " \
   "call('../resources/TestAmbaryServer.samples/" \
   "dummy_common_services/HIVE/0.11.0.2.0.5.0/package'),\n " \
+  
"call('../resources/TestAmbarySer

ambari git commit: AMBARI-19258 - Extension directories are not properly sync'd to agent nodes

2016-12-23 Thread tthorpe
Repository: ambari
Updated Branches:
  refs/heads/trunk a934c0315 -> 50c770ab9


AMBARI-19258 - Extension directories are not properly sync'd to agent nodes


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

Branch: refs/heads/trunk
Commit: 50c770ab9edeba6ad72881c4e3dd8d494828e7b4
Parents: a934c03
Author: Tim Thorpe 
Authored: Fri Dec 23 08:40:25 2016 -0800
Committer: Tim Thorpe 
Committed: Fri Dec 23 08:40:25 2016 -0800

--
 .../python/ambari_server/resourceFilesKeeper.py |  20 +-
 .../src/test/python/TestResourceFilesKeeper.py  |  11 +-
 .../HIVE/configuration/hive-site.xml| 259 +++
 .../dummy_extension/HIVE/metainfo.xml   |  47 
 .../dummy_extension/HIVE/package/.hash  |   1 +
 .../HIVE/package/files/startHiveserver2.sh  |  22 ++
 .../HIVE/package/scripts/status_params.py   |  30 +++
 .../HIVE/package/templates/hcat-env.sh.j2   |  25 ++
 8 files changed, 413 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/50c770ab/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py
--
diff --git a/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py 
b/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py
index 8047e7d..188f3ff 100644
--- a/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py
+++ b/ambari-server/src/main/python/ambari_server/resourceFilesKeeper.py
@@ -30,7 +30,7 @@ class KeeperException(Exception):
 
 class ResourceFilesKeeper():
   """
-  This class incapsulates all utility methods for resource files maintenance.
+  This class encapsulates all utility methods for resource files maintenance.
   """
 
   HOOKS_DIR="hooks"
@@ -40,6 +40,7 @@ class ResourceFilesKeeper():
   CUSTOM_ACTIONS_DIR="custom_actions"
   HOST_SCRIPTS_DIR="host_scripts"
   DASHBOARDS_DIR="dashboards"
+  EXTENSIONS_DIR="extensions"
 
   # For these directories archives are created
   ARCHIVABLE_DIRS = [HOOKS_DIR, PACKAGE_DIR]
@@ -107,6 +108,14 @@ class ResourceFilesKeeper():
 # Iterate over common services directories
 self._iter_update_directory_archive(valid_common_services)
 
+# archive extensions
+extensions_root = os.path.join(self.resources_dir, self.EXTENSIONS_DIR)
+self.dbg_out("Updating archives for extensions dirs at 
{0}...".format(extensions_root))
+valid_extensions = self.list_extensions(extensions_root)
+self.dbg_out("Extensions: {0}".format(pprint.pformat(valid_extensions)))
+# Iterate over extension directories
+self._iter_update_directory_archive(valid_extensions)
+
 # custom actions
 self._update_resources_subdir_archive(self.CUSTOM_ACTIONS_DIR)
 
@@ -145,6 +154,15 @@ class ResourceFilesKeeper():
 except Exception, err:
   raise KeeperException("Can not list common services: 
{0}".format(str(err)))
 
+  def list_extensions(self, root_dir):
+"""
+Builds a list of extension directories
+"""
+try:
+  return self._list_metainfo_dirs(root_dir)
+except Exception, err:
+  raise KeeperException("Can not list extensions: {0}".format(str(err)))
+
   def update_directory_archive(self, directory):
 """
 If hash sum for directory is not present or differs from saved value,

http://git-wip-us.apache.org/repos/asf/ambari/blob/50c770ab/ambari-server/src/test/python/TestResourceFilesKeeper.py
--
diff --git a/ambari-server/src/test/python/TestResourceFilesKeeper.py 
b/ambari-server/src/test/python/TestResourceFilesKeeper.py
index 4801fad..4f7dc52 100644
--- a/ambari-server/src/test/python/TestResourceFilesKeeper.py
+++ b/ambari-server/src/test/python/TestResourceFilesKeeper.py
@@ -46,6 +46,9 @@ class TestResourceFilesKeeper(TestCase):
   DUMMY_UNCHANGEABLE_STACK = ".." + os.sep + "resources" + os.sep + 
"TestAmbaryServer.samples" + os.sep + \
"dummy_stack" + os.sep + "HIVE"
 
+  DUMMY_UNCHANGEABLE_EXTENSION = ".." + os.sep + "resources" + os.sep + 
"TestAmbaryServer.samples" + os.sep + \
+   "dummy_extension" + os.sep + "HIVE"
+
   DUMMY_ACTIVE_STACK = ".." + os.sep + "resources" + os.sep + 
"TestAmbaryServer.samples" + os.sep + \
"active_stack"
 
@@ -81,6 +84,7 @@ class TestResourceFilesKeeper(TestCase):
   "dummy_common_services/HIVE/0.11.0.2.0.5.0/package'),\n " \
   "call('../resources/TestAmbaryServer.samples/" \
   "dummy_common_services/HIVE/0.11.0.2.0.5.0/package'),\n " \
+  
"call('../resources/TestAmbaryServer.sample