本文整理汇总了Python中resource_management.libraries.script.Script类的典型用法代码示例。如果您正苦于以下问题:Python Script类的具体用法?Python Script怎么用?Python Script使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Script类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: actionexecute
def actionexecute(self, env):
resolve_ambari_config()
# Parse parameters from command json file.
config = Script.get_config()
host_name = socket.gethostname()
version = default('/roleParams/version', None)
# These 2 variables are optional
service_package_folder = default('/roleParams/service_package_folder', None)
hooks_folder = default('/roleParams/hooks_folder', None)
tasks = json.loads(config['roleParams']['tasks'])
if tasks:
for t in tasks:
task = ExecuteTask(t)
Logger.info(str(task))
# If a (script, function) exists, it overwrites the command.
if task.script and task.function and service_package_folder and hooks_folder:
file_cache = FileCache(agent_config)
command_paths = {"commandParams":
{"service_package_folder": service_package_folder,
"hooks_folder": hooks_folder
}
}
server_url_prefix = default('/hostLevelParams/jdk_location', "")
base_dir = file_cache.get_service_base_dir(command_paths, server_url_prefix)
script_path = os.path.join(base_dir, task.script)
if not os.path.exists(script_path):
message = "Script %s does not exist" % str(script_path)
raise Fail(message)
# Notice that the script_path is now the fully qualified path, and the
# same command-#.json file is used.
# Also, the python wrapper is used, since it sets up the correct environment variables
command_params = ["/usr/bin/ambari-python-wrap",
script_path,
task.function,
self.command_data_file,
self.basedir,
self.stroutfile,
self.logging_level,
Script.get_tmp_dir()]
task.command = " ".join(command_params)
# Replace redundant whitespace to make the unit tests easier to validate
task.command = re.sub("\s+", " ", task.command).strip()
if task.command:
task.command = replace_variables(task.command, host_name, version)
code, out = shell.call(task.command)
Logger.info("Command: %s\nCode: %s, Out: %s" % (task.command, str(code), str(out)))
if code != 0:
raise Fail(out)
开发者ID:fanzhidongyzby,项目名称:ambari,代码行数:56,代码来源:ru_execute_tasks.py
示例2: test_struct_out
def test_struct_out(self):
from resource_management.libraries.script import Script
configs_path = os.path.join(RMFTestCase._getSrcFolder(),
"test/python/stacks", self.STACK_VERSION, "configs")
script = Script()
script.stroutfile = os.path.join(configs_path, "structured-out-status.json")
script.load_structured_out()
self.assertFalse("version" in script.structuredOut)
开发者ID:fanzhidongyzby,项目名称:ambari,代码行数:11,代码来源:test_flume.py
示例3: pre_upgrade_restart
def pre_upgrade_restart(self, env, upgrade_type=None):
import params
env.set_params(params)
if Script.is_hdp_stack_greater_or_equal('2.3.0.0'):
conf_select.select(params.stack_name, "hadoop", params.version)
hdp_select.select("hadoop-hdfs-nfs3", params.version)
开发者ID:OpenPOWER-BigData,项目名称:HDP-ambari,代码行数:7,代码来源:nfsgateway.py
示例4: check_indexer_parameters
def check_indexer_parameters():
"""
Ensure that all required parameters have been defined for the chosen
Indexer; either Solr or Elasticsearch.
"""
missing = []
config = Script.get_config()
indexer = config['configurations']['metron-indexing-env']['ra_indexing_writer']
Logger.info('Checking parameters for indexer = ' + indexer)
if indexer == 'Solr':
# check for all required solr parameters
if not config['configurations']['metron-env']['solr_zookeeper_url']:
missing.append("metron-env/solr_zookeeper_url")
else:
# check for all required elasticsearch parameters
if not config['configurations']['metron-env']['es_cluster_name']:
missing.append("metron-env/es_cluster_name")
if not config['configurations']['metron-env']['es_hosts']:
missing.append("metron-env/es_hosts")
if not config['configurations']['metron-env']['es_date_format']:
missing.append("metron-env/es_date_format")
if len(missing) > 0:
raise Fail("Missing required indexing parameters(s): indexer={0}, missing={1}".format(indexer, missing))
开发者ID:JonZeolla,项目名称:incubator-metron,代码行数:26,代码来源:metron_service.py
示例5: falcon
def falcon(type, action = None):
import params
if action == 'config':
env = Environment.get_instance()
# These 2 parameters are used in ../templates/client.properties.j2
env.config.params["falcon_host"] = params.falcon_host
env.config.params["falcon_port"] = params.falcon_port
File(os.path.join(params.falcon_conf_dir, 'falcon-env.sh'),
content = InlineTemplate(params.falcon_env_sh_template))
File(os.path.join(params.falcon_conf_dir, 'client.properties'),
content = Template('client.properties.j2'))
PropertiesFile(os.path.join(params.falcon_conf_dir, 'runtime.properties'),
properties = params.falcon_runtime_properties)
PropertiesFile(os.path.join(params.falcon_conf_dir, 'startup.properties'),
properties = params.falcon_startup_properties)
if type == 'server':
ServiceConfig(params.falcon_win_service_name,
action = "change_user",
username = params.falcon_user,
password = Script.get_password(params.falcon_user))
if action == 'start':
Service(params.falcon_win_service_name, action = "start")
if action == 'stop':
Service(params.falcon_win_service_name, action = "stop")
开发者ID:zouzhberk,项目名称:ambaridemo,代码行数:31,代码来源:falcon.py
示例6: actionexecute
def actionexecute(self, env):
config = Script.get_config()
version = default('/commandParams/version', None)
stack_name = default('/hostLevelParams/stack_name', "")
if not version:
raise Fail("Value is required for '/commandParams/version'")
# other os?
if OSCheck.is_redhat_family():
cmd = ('/usr/bin/yum', 'clean', 'all')
code, out = shell.call(cmd, sudo=True)
min_ver = format_hdp_stack_version("2.2")
real_ver = format_hdp_stack_version(version)
if stack_name == "HDP":
if compare_versions(real_ver, min_ver) >= 0:
cmd = ('hdp-select', 'set', 'all', version)
code, out = shell.call(cmd, sudo=True)
if compare_versions(real_ver, format_hdp_stack_version("2.3")) >= 0:
# backup the old and symlink /etc/[component]/conf to /usr/hdp/current/[component]
for k, v in conf_select.PACKAGE_DIRS.iteritems():
for dir_def in v:
link_config(dir_def['conf_dir'], dir_def['current_dir'])
开发者ID:OpenPOWER-BigData,项目名称:HDP-ambari,代码行数:26,代码来源:ru_set_all.py
示例7: pre_rolling_restart
def pre_rolling_restart(self, env):
import params
env.set_params(params)
if Script.is_hdp_stack_greater_or_equal("2.3"):
# phoenix uses hbase configs
conf_select.select(params.stack_name, "hbase", params.version)
hdp_select.select("phoenix-server", params.version)
开发者ID:zouzhberk,项目名称:ambaridemo,代码行数:8,代码来源:phoenix_queryserver.py
示例8: should_install_falcon_atlas_hook
def should_install_falcon_atlas_hook():
config = Script.get_config()
stack_version_unformatted = config['hostLevelParams']['stack_version']
stack_version_formatted = format_stack_version(stack_version_unformatted)
if check_stack_feature(StackFeature.FALCON_ATLAS_SUPPORT_2_3, stack_version_formatted) \
or check_stack_feature(StackFeature.FALCON_ATLAS_SUPPORT, stack_version_formatted):
return _has_applicable_local_component(config, ['FALCON_SERVER'])
return False
开发者ID:maduhu,项目名称:HDP2.5-ambari,代码行数:8,代码来源:package_conditions.py
示例9: should_install_mysql
def should_install_mysql():
config = Script.get_config()
hive_database = config['configurations']['hive-env']['hive_database']
hive_use_existing_db = hive_database.startswith('Existing')
if hive_use_existing_db:
return False
return _has_applicable_local_component(config, "MYSQL_SERVER")
开发者ID:maduhu,项目名称:HDP2.5-ambari,代码行数:8,代码来源:package_conditions.py
示例10: test_install_packages
def test_install_packages(self, package_provider_mock):
no_packages_config = {
'hostLevelParams' : {
'repo_info' : "[{\"baseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\",\"osType\":\"centos6\",\"repoId\":\"HDP-2.0._\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\"}]",
'agent_stack_retry_count': '5',
'agent_stack_retry_on_unavailability': 'false'
}
}
empty_config = {
'hostLevelParams' : {
'package_list' : '',
'repo_info' : "[{\"baseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\",\"osType\":\"centos6\",\"repoId\":\"HDP-2.0._\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\"}]",
'agent_stack_retry_count': '5',
'agent_stack_retry_on_unavailability': 'false'
}
}
dummy_config = {
'hostLevelParams' : {
'package_list' : "[{\"type\":\"rpm\",\"name\":\"hbase\", \"condition\": \"\"},"
"{\"type\":\"rpm\",\"name\":\"yet-another-package\", \"condition\": \"\"}]",
'repo_info' : "[{\"baseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\",\"osType\":\"centos6\",\"repoId\":\"HDP-2.0._\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\"}]",
'service_repo_info' : "[{\"mirrorsList\":\"abc\",\"osType\":\"centos6\",\"repoId\":\"HDP-2.0._\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\"}]",
'agent_stack_retry_count': '5',
'agent_stack_retry_on_unavailability': 'false'
}
}
# Testing config without any keys
with Environment(".", test_mode=True) as env:
script = Script()
Script.config = no_packages_config
script.install_packages(env)
resource_dump = pprint.pformat(env.resource_list)
self.assertEquals(resource_dump, "[]")
# Testing empty package list
with Environment(".", test_mode=True) as env:
script = Script()
Script.config = empty_config
script.install_packages(env)
resource_dump = pprint.pformat(env.resource_list)
self.assertEquals(resource_dump, "[]")
# Testing installing of a list of packages
with Environment(".", test_mode=True) as env:
script = Script()
Script.config = dummy_config
script.install_packages("env")
resource_dump = pprint.pformat(env.resource_list)
self.assertEqual(resource_dump, '[Package[\'hbase\'], Package[\'yet-another-package\']]')
开发者ID:maduhu,项目名称:HDP2.5-ambari,代码行数:50,代码来源:TestScript.py
示例11: pre_rolling_restart
def pre_rolling_restart(self, env):
Logger.info("Executing Metastore Rolling Upgrade pre-restart")
import params
env.set_params(params)
if Script.is_hdp_stack_greater_or_equal("2.3"):
self.upgrade_schema(env)
if params.version and compare_versions(format_hdp_stack_version(params.version), "2.2.0.0") >= 0:
conf_select.select(params.stack_name, "hive", params.version)
hdp_select.select("hive-metastore", params.version)
开发者ID:zouzhberk,项目名称:ambaridemo,代码行数:12,代码来源:hive_metastore.py
示例12: default
def default(name, default_value):
subdicts = filter(None, name.split('/'))
curr_dict = Script.get_config()
if not curr_dict:
return default_value
for x in subdicts:
if x in curr_dict:
curr_dict = curr_dict[x]
else:
return default_value
return curr_dict
开发者ID:maduhu,项目名称:HDP2.5-ambari,代码行数:13,代码来源:default.py
示例13: pre_rolling_restart
def pre_rolling_restart(self, env):
import params
env.set_params(params)
# this function should not execute if the version can't be determined or
# is not at least HDP 2.2.0.0
if Script.is_hdp_stack_less_than("2.2"):
return
Logger.info("Executing Falcon Server Rolling Upgrade pre-restart")
conf_select.select(params.stack_name, "falcon", params.version)
hdp_select.select("falcon-server", params.version)
falcon_server_upgrade.pre_start_restore()
开发者ID:andreysabitov,项目名称:ambari-mantl,代码行数:13,代码来源:falcon_server.py
示例14: default
def default(name, default_value):
subdicts = filter(None, name.split('/'))
curr_dict = Script.get_config()
for x in subdicts:
if x in curr_dict:
curr_dict = curr_dict[x]
else:
if not isinstance(default_value, UnknownConfiguration):
Logger.debug("Cannot find configuration: '%s'. Using '%s' value as default" % (name, default_value))
return default_value
return curr_dict
开发者ID:duxia,项目名称:ambari,代码行数:13,代码来源:default.py
示例15: pre_upgrade_restart
def pre_upgrade_restart(self, env, upgrade_type=None):
Logger.info("Executing Metastore Stack Upgrade pre-restart")
import params
env.set_params(params)
is_stack_hdp_23 = Script.is_hdp_stack_greater_or_equal("2.3")
is_upgrade = params.upgrade_direction == Direction.UPGRADE
if is_stack_hdp_23 and is_upgrade:
self.upgrade_schema(env)
if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0:
conf_select.select(params.stack_name, "hive", params.version)
hdp_select.select("hive-metastore", params.version)
开发者ID:OpenPOWER-BigData,项目名称:HDP-ambari,代码行数:15,代码来源:hive_metastore.py
示例16: test_structured_out
def test_structured_out(self, open_mock):
script = Script()
script.stroutfile = ''
self.assertEqual(Script.structuredOut, {})
script.put_structured_out({"1": "1"})
self.assertEqual(Script.structuredOut, {"1": "1"})
self.assertTrue(open_mock.called)
script.put_structured_out({"2": "2"})
self.assertEqual(open_mock.call_count, 2)
self.assertEqual(Script.structuredOut, {"1": "1", "2": "2"})
#Overriding
script.put_structured_out({"1": "3"})
self.assertEqual(open_mock.call_count, 3)
self.assertEqual(Script.structuredOut, {"1": "3", "2": "2"})
开发者ID:maduhu,项目名称:HDP2.5-ambari,代码行数:17,代码来源:TestScript.py
示例17: test_install_packages
def test_install_packages(self, package_provider_mock):
no_packages_config = {
"hostLevelParams": {
"repo_info": '[{"baseUrl":"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0","osType":"centos6","repoId":"HDP-2.0._","repoName":"HDP","defaultBaseUrl":"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0"}]'
}
}
empty_config = {
"hostLevelParams": {
"package_list": "",
"repo_info": '[{"baseUrl":"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0","osType":"centos6","repoId":"HDP-2.0._","repoName":"HDP","defaultBaseUrl":"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0"}]',
}
}
dummy_config = {
"hostLevelParams": {
"package_list": '[{"type":"rpm","name":"hbase"},' '{"type":"rpm","name":"yet-another-package"}]',
"repo_info": '[{"baseUrl":"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0","osType":"centos6","repoId":"HDP-2.0._","repoName":"HDP","defaultBaseUrl":"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0"}]',
"service_repo_info": '[{"mirrorsList":"abc","osType":"centos6","repoId":"HDP-2.0._","repoName":"HDP","defaultBaseUrl":"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0"}]',
}
}
# Testing config without any keys
with Environment(".", test_mode=True) as env:
script = Script()
Script.config = no_packages_config
script.install_packages(env)
resource_dump = pprint.pformat(env.resource_list)
self.assertEquals(resource_dump, "[]")
# Testing empty package list
with Environment(".", test_mode=True) as env:
script = Script()
Script.config = empty_config
script.install_packages(env)
resource_dump = pprint.pformat(env.resource_list)
self.assertEquals(resource_dump, "[]")
# Testing installing of a list of packages
with Environment(".", test_mode=True) as env:
Script.config = dummy_config
script.install_packages("env")
resource_dump = pprint.pformat(env.resource_list)
self.assertEqual(
resource_dump,
"[Repository['HDP-2.0._'],\n Repository['HDP-2.0._'],\n Package['hbase'],\n Package['yet-another-package']]",
)
开发者ID:rhodydan,项目名称:incubator-slider,代码行数:45,代码来源:TestScript.py
示例18: test_set_version
def test_set_version(self, get_stack_to_component_mock):
good_config = {
'hostLevelParams': {
'stack_name': "HDP",
'stack_version': "2.2"
},
'commandParams': {
'version': "2.2.0.0-2041"
}
}
get_stack_to_component_mock.return_value = {"HDP": "kafka-broker"}
# Testing default workflow
with Environment(".", test_mode=True) as env:
script = Script()
Script.config = good_config
script.set_version()
resource_dump = pprint.pformat(env.resource_list)
self.assertEquals(resource_dump, '[u"Execute[\'(\'/usr/bin/hdp-select\', \'set\', \'kafka-broker\', \'2.2.0.0-2041\')\']"]')
# Component does not provide mapping
get_stack_to_component_mock.return_value = {}
with Environment(".", test_mode=True) as env:
script = Script()
Script.config = good_config
script.set_version()
resource_dump = pprint.pformat(env.resource_list)
self.assertEquals(resource_dump, '[]')
# Component provided mapping, but configuration is not complete (testing fallback)
get_stack_to_component_mock.return_value = {"HDP": "kafka-broker"}
bad_config = {}
with Environment(".", test_mode=True) as env:
script = Script()
Script.config = bad_config
script.set_version()
resource_dump = pprint.pformat(env.resource_list)
self.assertEquals(resource_dump, '[]')
开发者ID:fanzhidongyzby,项目名称:ambari,代码行数:40,代码来源:TestScript.py
示例19: link_configs
def link_configs(struct_out_file):
"""
Links configs, only on a fresh install of HDP-2.3 and higher
"""
if not Script.is_hdp_stack_greater_or_equal("2.3"):
Logger.info("Can only link configs for HDP-2.3 and higher.")
return
json_version = load_version(struct_out_file)
if not json_version:
Logger.info("Could not load 'version' from {0}".format(struct_out_file))
return
for k, v in conf_select.PACKAGE_DIRS.iteritems():
conf_select.convert_conf_directories_to_symlinks(k, json_version, v)
开发者ID:OpenPOWER-BigData,项目名称:HDP-ambari,代码行数:17,代码来源:shared_initialization.py
示例20: remove_hdp_21
def remove_hdp_21(self, env):
"""
During Express Upgrade from HDP 2.1 to any higher version (HDP 2.2 or 2.3), the HDP 2.1 bits must be uninstalled.
This is because /usr/bin/hadoop used to be a shell script in HDP 2.1, but in HDP 2.3 it is
a symlink to /usr/hdp/current/hadoop-client/bin/hadoop
so both versions cannot coexist.
"""
Logger.info("Attempting to remove bits for HDP 2.1")
config = Script.get_config()
packages_to_remove = ["zookeeper", "hadoop", "hadoop-lzo", "hadoop-hdfs", "hadoop-libhdfs", "hadoop-yarn", "hadoop-client", "hadoop-mapreduce", "hive", "hive-hcatalog", "hive-jdbc", "hive-webhcat", "hcatalog", "webhcat-tar-hive", "webhcat-tar-pig", "oozie", "oozie-client", "pig", "sqoop", "tez" "falcon", "storm", "flume", "hbase", "phoenix"]
packages_to_remove.reverse()
Logger.info("Packages to remove: {0}".format(" ".join(packages_to_remove)))
for name in packages_to_remove:
Logger.info("Attempting to remove {0}".format(name))
Package(name, action="remove")
开发者ID:OpenPOWER-BigData,项目名称:HDP-ambari,代码行数:17,代码来源:remove_bits.py
注:本文中的resource_management.libraries.script.Script类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论