Repository: ambari
Updated Branches:
  refs/heads/branch-2.1 14ab4bf7e -> c4e9c5077
  refs/heads/trunk f438398fd -> 4fbab311d


AMBARI-12371. Downloaded client configuration contains strange folder (aonishuk)


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

Branch: refs/heads/trunk
Commit: 4fbab311df79264e4bbc65e7b5d546409f0a3622
Parents: f438398
Author: Andrew Onishuk <aonis...@hortonworks.com>
Authored: Fri Jul 10 18:08:28 2015 +0300
Committer: Andrew Onishuk <aonis...@hortonworks.com>
Committed: Fri Jul 10 18:08:28 2015 +0300

----------------------------------------------------------------------
 .../resource_management/libraries/script/script.py    | 14 ++++++++++++--
 .../test/python/stacks/2.0.6/HDFS/test_hdfs_client.py |  8 +++++---
 2 files changed, 17 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/4fbab311/ambari-common/src/main/python/resource_management/libraries/script/script.py
----------------------------------------------------------------------
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/script/script.py 
b/ambari-common/src/main/python/resource_management/libraries/script/script.py
index c422ac8..26fd158 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/script/script.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/script/script.py
@@ -25,6 +25,7 @@ import os
 import sys
 import logging
 import platform
+import tarfile
 from ambari_commons import OSCheck, OSConst
 from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
 from resource_management.libraries.resources import XmlConfig
@@ -40,6 +41,7 @@ from resource_management.libraries.functions.version import 
compare_versions
 from resource_management.libraries.functions.version import 
format_hdp_stack_version
 from resource_management.libraries.script.config_dictionary import 
ConfigDictionary, UnknownConfiguration
 from resource_management.core.resources.system import Execute
+from contextlib import closing
 
 import ambari_simplejson as json # simplejson is much faster comparing to 
Python 2.6 json module and has the same functions set.
 
@@ -536,18 +538,26 @@ class Script(object):
         for filename, dict in file_dict.iteritems():
           XmlConfig(filename,
                     conf_dir=conf_tmp_dir,
+                    mode=0644,
                     **self.generate_configs_get_xml_file_content(filename, 
dict)
           )
       for file_dict in env_configs_list:
         for filename,dicts in file_dict.iteritems():
           File(os.path.join(conf_tmp_dir, filename),
+               mode=0644,
                
content=InlineTemplate(self.generate_configs_get_template_file_content(filename,
 dicts)))
 
       for file_dict in properties_configs_list:
         for filename, dict in file_dict.iteritems():
           PropertiesFile(os.path.join(conf_tmp_dir, filename),
-            properties=self.generate_configs_get_xml_file_dict(filename, dict)
+                         mode=0644,
+                         
properties=self.generate_configs_get_xml_file_dict(filename, dict)
           )
-      archive_dir(output_filename, conf_tmp_dir)
+      with closing(tarfile.open(output_filename, "w:gz")) as tar:
+        try:
+          tar.add(conf_tmp_dir, arcname=os.path.basename("."))
+        finally:
+          tar.close()
+
     finally:
       Directory(conf_tmp_dir, action="delete")

http://git-wip-us.apache.org/repos/asf/ambari/blob/4fbab311/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py 
b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py
index 06d94e9..4948d01 100644
--- a/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py
+++ b/ambari-server/src/test/python/stacks/2.0.6/HDFS/test_hdfs_client.py
@@ -48,25 +48,27 @@ class Test(RMFTestCase):
                               )
     self.assertResourceCalled('XmlConfig', 'hdfs-site.xml',
                               conf_dir = '/tmp/123',
+                              mode=0644,
                               configuration_attributes = 
self.getConfig()['configuration_attributes']['hdfs-site'],
                               configurations = 
self.getConfig()['configurations']['hdfs-site'],
                               )
     self.assertResourceCalled('File', '/tmp/123/hadoop-env.sh',
+                              mode=0644,
                               content = 
InlineTemplate(self.getConfig()['configurations']['hadoop-env']['content']),
                               )
     self.assertResourceCalled('File', '/tmp/123/log4j.properties',
+                              mode=0644,
                               content = 
InlineTemplate(self.getConfig()['configurations']['hdfs-log4j']['content']+
                                                        
self.getConfig()['configurations']['yarn-log4j']['content']),
                               )
     self.assertResourceCalled('PropertiesFile', '/tmp/123/runtime.properties',
+                              mode=0644,
                               properties = UnknownConfigurationMock(),
     )
     self.assertResourceCalled('PropertiesFile', '/tmp/123/startup.properties',
+                              mode=0644,
                               properties = UnknownConfigurationMock(),
     )
-    self.assertResourceCalled('Execute', ('tar', '-zcvf', 
u'/tmp/HDFS_CLIENT-configs.tar.gz', '/tmp/123'),
-        sudo = True,
-    )
     self.assertResourceCalled('Directory', '/tmp/123',
                               action = ['delete'],
                               )

Reply via email to