Repository: ambari
Updated Branches:
  refs/heads/branch-2.2 edfbe19b6 -> e4899550f


AMBARI-15475: Editing tmp dir from single to multiple dir doesn't trigger the 
backend change


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

Branch: refs/heads/branch-2.2
Commit: e4899550fc1f8f1fbfb17228175e15aa4cd8a18c
Parents: edfbe19
Author: Jun Aoki <ja...@apache.org>
Authored: Fri Mar 18 18:16:48 2016 -0700
Committer: Jun Aoki <ja...@apache.org>
Committed: Fri Mar 18 18:16:48 2016 -0700

----------------------------------------------------------------------
 .../HAWQ/2.0.0/package/scripts/common.py             | 14 ++++++++++++++
 .../HAWQ/2.0.0/package/scripts/hawqsegment.py        |  7 +++----
 .../HAWQ/2.0.0/package/scripts/master_helper.py      | 15 ++-------------
 .../HAWQ/2.0.0/package/scripts/params.py             |  4 ++--
 .../HAWQ/2.0.0/package/scripts/utils.py              |  6 +++++-
 .../test/python/stacks/2.3/HAWQ/test_hawqmaster.py   | 10 +++++-----
 .../test/python/stacks/2.3/HAWQ/test_hawqsegment.py  | 13 +++++++++----
 .../test/python/stacks/2.3/HAWQ/test_hawqstandby.py  |  9 +++++----
 8 files changed, 45 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/e4899550/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/common.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/common.py
 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/common.py
index d62332d..20336bc 100644
--- 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/common.py
+++ 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/common.py
@@ -52,6 +52,20 @@ def __create_hawq_user():
        groups=[hawq_constants.hawq_group, params.user_group],
        ignore_failures=True)
 
+def create_master_dir(dir_path):
+  """
+  Creates the master directory (hawq_master_dir or hawq_segment_dir) for HAWQ
+  """
+  utils.create_dir_as_hawq_user(dir_path)
+  Execute("chmod 700 {0}".format(dir_path), user=hawq_constants.root_user, 
timeout=hawq_constants.default_exec_timeout)
+
+def create_temp_dirs(dir_paths):
+  """
+  Creates the temp directories (hawq_master_temp_dir or hawq_segment_temp_dir) 
for HAWQ
+  """
+  for path in dir_paths.split(','):
+    if path != "":
+      utils.create_dir_as_hawq_user(path)
 
 def __set_home_dir_ownership():
   """

http://git-wip-us.apache.org/repos/asf/ambari/blob/e4899550/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/hawqsegment.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/hawqsegment.py
 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/hawqsegment.py
index 0a597b6..1891ede 100644
--- 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/hawqsegment.py
+++ 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/hawqsegment.py
@@ -42,6 +42,8 @@ class HawqSegment(Script):
     env.set_params(hawq_constants)
     common.setup_user()
     common.setup_common_configurations()
+    # temp directories are stateless and they should be recreated when 
configured (started)
+    common.create_temp_dirs(params.hawq_segment_temp_dirs)
 
 
   def __start_segment(self):
@@ -80,10 +82,7 @@ class HawqSegment(Script):
   @staticmethod
   def __init_segment():
     import params
-
-    # Create segment directories
-    utils.create_dir_as_hawq_user(params.hawq_segment_dir)
-    utils.create_dir_as_hawq_user(params.hawq_segment_temp_dir.split(','))
+    common.create_master_dir(params.hawq_segment_dir)
 
     # Initialize hawq segment
     utils.exec_hawq_operation(hawq_constants.INIT, "{0} -a 
-v".format(hawq_constants.SEGMENT))

http://git-wip-us.apache.org/repos/asf/ambari/blob/e4899550/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/master_helper.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/master_helper.py
 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/master_helper.py
index 9482b35..330b6c0 100644
--- 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/master_helper.py
+++ 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/master_helper.py
@@ -59,20 +59,9 @@ def configure_master():
   common.setup_user()
   common.setup_common_configurations()
   __setup_master_specific_conf_files()
-  __create_local_dirs()
-
-
-def __create_local_dirs():
-  """
-  Creates the required local directories for HAWQ
-  """
   import params
-  # Create Master directories
-  utils.create_dir_as_hawq_user(params.hawq_master_dir)
-  utils.create_dir_as_hawq_user(params.hawq_master_temp_dir.split(','))
-
-  Execute("chmod 700 {0}".format(params.hawq_master_dir), 
user=hawq_constants.root_user, timeout=hawq_constants.default_exec_timeout)
-
+  common.create_master_dir(params.hawq_master_dir)
+  common.create_temp_dirs(params.hawq_master_temp_dirs)
 
 def __setup_hdfs_dirs():
   """

http://git-wip-us.apache.org/repos/asf/ambari/blob/e4899550/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/params.py
 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/params.py
index 1bdc5aa..d3c9009 100644
--- 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/params.py
@@ -138,8 +138,8 @@ yarn_client = config['configurations']['yarn-client']
 # Directories and ports
 hawq_master_dir = hawq_site.get('hawq_master_directory')
 hawq_segment_dir = hawq_site.get('hawq_segment_directory')
-hawq_master_temp_dir = hawq_site.get('hawq_master_temp_directory')
-hawq_segment_temp_dir = hawq_site.get('hawq_segment_temp_directory')
+hawq_master_temp_dirs = hawq_site.get('hawq_master_temp_directory')
+hawq_segment_temp_dirs = hawq_site.get('hawq_segment_temp_directory')
 # Extract hawq hdfs directory from hdfs url. Ex: /hawq/hawq_default from
 # host:8080/hawq/hawq_default
 hawq_hdfs_data_dir = "/{0}".format(hawq_site.get('hawq_dfs_url').split('/', 
1)[1])

http://git-wip-us.apache.org/repos/asf/ambari/blob/e4899550/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/utils.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/utils.py
 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/utils.py
index dc6c203..0baa4c5 100644
--- 
a/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/utils.py
+++ 
b/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/package/scripts/utils.py
@@ -35,7 +35,11 @@ def create_dir_as_hawq_user(directory):
   """
   Creates directories with hawq_user and hawq_group (defaults to 
gpadmin:gpadmin)
   """
-  Directory(directory, recursive=True, owner=hawq_constants.hawq_user, 
group=hawq_constants.hawq_group)
+  Directory(
+        directory,
+        recursive=True,
+        owner=hawq_constants.hawq_user,
+        group=hawq_constants.hawq_group)
 
 
 def exec_hawq_operation(operation, option, not_if=None, only_if=None, 
logoutput=True):

http://git-wip-us.apache.org/repos/asf/ambari/blob/e4899550/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqmaster.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqmaster.py 
b/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqmaster.py
index 14b5a5f..4552f3a 100644
--- a/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqmaster.py
+++ b/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqmaster.py
@@ -100,17 +100,17 @@ class TestHawqMaster(RMFTestCase):
         recursive = True
         )
 
+    self.assertResourceCalled('Execute', 'chmod 700 /data/hawq/master',
+        user = 'root',
+        timeout = 600
+        )
+
     self.assertResourceCalled('Directory', '/tmp',
         group = self.GPADMIN,
         owner = self.GPADMIN,
         recursive = True
         )
 
-    self.assertResourceCalled('Execute', 'chmod 700 /data/hawq/master',
-        user = 'root',
-        timeout =  600
-        )
-
 
   @patch ('hawqmaster.common.__set_osparams')
   def test_configure_default(self, set_osparams_mock):

http://git-wip-us.apache.org/repos/asf/ambari/blob/e4899550/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqsegment.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqsegment.py 
b/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqsegment.py
index 6ca83b7..ac315f2 100644
--- a/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqsegment.py
+++ b/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqsegment.py
@@ -70,6 +70,12 @@ class TestHawqSegment(RMFTestCase):
         mode = 0644
         )
 
+    self.assertResourceCalled('Directory', '/tmp',
+        owner = self.GPADMIN,
+        group = self.GPADMIN,
+        recursive = True
+        )
+
 
 
   @patch ('hawqsegment.common.__set_osparams')
@@ -121,10 +127,9 @@ class TestHawqSegment(RMFTestCase):
         recursive = True
         )
 
-    self.assertResourceCalled('Directory', '/tmp',
-        owner = self.GPADMIN,
-        group = self.GPADMIN,
-        recursive = True
+    self.assertResourceCalled('Execute', 'chmod 700 /data/hawq/segment',
+        user = 'root',
+        timeout = 600
         )
 
     self.assertResourceCalled('Execute', 'source 
/usr/local/hawq/greenplum_path.sh && hawq init segment -a -v',

http://git-wip-us.apache.org/repos/asf/ambari/blob/e4899550/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqstandby.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqstandby.py 
b/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqstandby.py
index eaba496..c0ec9f9 100644
--- a/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqstandby.py
+++ b/ambari-server/src/test/python/stacks/2.3/HAWQ/test_hawqstandby.py
@@ -98,16 +98,17 @@ class TestHawqStandby(RMFTestCase):
         recursive = True
         )
 
+    self.assertResourceCalled('Execute', 'chmod 700 /data/hawq/master',
+        user = 'root',
+        timeout = 600
+        )
+
     self.assertResourceCalled('Directory', '/tmp',
         group = self.GPADMIN,
         owner = self.GPADMIN,
         recursive = True
         )
 
-    self.assertResourceCalled('Execute', 'chmod 700 /data/hawq/master',
-        user = 'root',
-        timeout = 600
-        )
 
 
   @patch ('hawqstandby.common.__set_osparams')

Reply via email to