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'], )