本文整理汇总了Python中service_configuration_lib.read_service_configuration函数的典型用法代码示例。如果您正苦于以下问题:Python read_service_configuration函数的具体用法?Python read_service_configuration怎么用?Python read_service_configuration使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了read_service_configuration函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: load_adhoc_job_config
def load_adhoc_job_config(service, instance, cluster, load_deployments=True, soa_dir=DEFAULT_SOA_DIR):
general_config = service_configuration_lib.read_service_configuration(
service,
soa_dir=soa_dir
)
adhoc_conf_file = "adhoc-%s" % cluster
log.info("Reading adhoc configuration file: %s.yaml", adhoc_conf_file)
instance_configs = service_configuration_lib.read_extra_service_information(
service_name=service,
extra_info=adhoc_conf_file,
soa_dir=soa_dir
)
if instance not in instance_configs:
raise NoConfigurationForServiceError(
"%s not found in config file %s/%s/%s.yaml." % (instance, soa_dir, service, adhoc_conf_file)
)
general_config = deep_merge_dictionaries(overrides=instance_configs[instance], defaults=general_config)
branch_dict = {}
if load_deployments:
deployments_json = load_v2_deployments_json(service, soa_dir=soa_dir)
branch = general_config.get('branch', get_paasta_branch(cluster, instance))
deploy_group = general_config.get('deploy_group', branch)
branch_dict = deployments_json.get_branch_dict_v2(service, branch, deploy_group)
return AdhocJobConfig(
service=service,
cluster=cluster,
instance=instance,
config_dict=general_config,
branch_dict=branch_dict,
)
开发者ID:Yelp,项目名称:paasta,代码行数:34,代码来源:adhoc_tools.py
示例2: get_service_info
def get_service_info(service):
service_configuration = read_service_configuration(service)
description = service_configuration.get('description', NO_DESCRIPTION_MESSAGE)
external_link = service_configuration.get('external_link', NO_EXTERNAL_LINK_MESSAGE)
pipeline_url = get_pipeline_url(service)
smartstack_endpoints = get_smartstack_endpoints(service)
git_url = get_git_url(service)
output = []
output.append('Service Name: %s' % service)
output.append('Description: %s' % description)
output.append('External Link: %s' % PaastaColors.cyan(external_link))
output.append('Monitored By: team %s' % get_team(service=service, overrides={}))
output.append('Runbook: %s' % PaastaColors.cyan(get_runbook(service=service, overrides={})))
output.append('Git Repo: %s' % git_url)
output.append('Jenkins Pipeline: %s' % pipeline_url)
output.append('Deployed to the following clusters:')
output.extend(get_deployments_strings(service))
if smartstack_endpoints:
output.append('Smartstack endpoint(s):')
for endpoint in smartstack_endpoints:
output.append(' - %s' % endpoint)
output.append('Dashboard(s):')
output.extend(get_dashboard_urls(service))
return '\n'.join(output)
开发者ID:ashwinaj,项目名称:paasta,代码行数:26,代码来源:info.py
示例3: __get_monitoring_config_value
def __get_monitoring_config_value(key, overrides, service, soa_dir=DEFAULT_SOA_DIR):
general_config = service_configuration_lib.read_service_configuration(service, soa_dir=soa_dir)
monitor_config = read_monitoring_config(service, soa_dir=soa_dir)
service_default = general_config.get(key, monitoring_defaults(key))
service_default = general_config.get('monitoring', {key: service_default}).get(key, service_default)
service_default = monitor_config.get(key, service_default)
return overrides.get(key, service_default)
开发者ID:S-Chan,项目名称:paasta,代码行数:7,代码来源:monitoring_tools.py
示例4: check_local_healthcheck
def check_local_healthcheck(service_name):
"""Makes a local HTTP healthcheck call to the service and returns True if
it gets a 2XX response, else returns False.
:param service_name: a string like 'service_one.main'
:return: Whether healthcheck call was successful for a http service.
Returns false for a tcp service.
:rtype: boolean
"""
srv_name, namespace = service_name.split('.')
srv_config = read_service_configuration(srv_name)
smartstack_config = srv_config.get('smartstack', {})
namespace_config = smartstack_config.get(namespace, {})
healthcheck_uri = namespace_config.get('healthcheck_uri', '/status')
healthcheck_port = namespace_config.get('healthcheck_port',
srv_config.get('port'))
healthcheck_mode = namespace_config.get('mode', 'http')
# TODO: Add support for TCP healthcheck using hacheck - Ref. RB: 109478
if healthcheck_mode == 'http' and healthcheck_port:
try:
url = "http://{host}:{port}{uri}".format(
host="127.0.0.1", port=healthcheck_port, uri=healthcheck_uri)
requests.get(url).raise_for_status()
return True
except RequestException as e:
print >>sys.stderr, "Calling {0}, got - {1}".format(url, str(e))
return False
开发者ID:Yelp,项目名称:nerve-tools,代码行数:30,代码来源:updown_service.py
示例5: _should_manage_service
def _should_manage_service(service_name):
srv_name, namespace = service_name.split('.')
marathon_config = load_service_namespace_config(srv_name, namespace)
classic_config = read_service_configuration(srv_name)
should_manage = marathon_config.get('proxy_port') is not None
blacklisted = classic_config.get('no_updown_service')
return (should_manage and not blacklisted)
开发者ID:Yelp,项目名称:nerve-tools,代码行数:9,代码来源:updown_service.py
示例6: get_git_url
def get_git_url(service, soa_dir=DEFAULT_SOA_DIR):
"""Get the git url for a service. Assumes that the service's
repo matches its name, and that it lives in services- i.e.
if this is called with the string 'test', the returned
url will be [email protected]:services/test.git.
:param service: The service name to get a URL for
:returns: A git url to the service's repository"""
general_config = service_configuration_lib.read_service_configuration(service, soa_dir=soa_dir)
default_location = "[email protected]:services/%s.git" % service
return general_config.get("git_url", default_location)
开发者ID:sayi21cn,项目名称:paasta,代码行数:11,代码来源:utils.py
示例7: get_service_lines_for_service
def get_service_lines_for_service(service):
lines = []
config = service_configuration_lib.read_service_configuration(service)
port = config.get('port', None)
if port is not None:
lines.append("%s (%d/tcp)" % (service, port))
for namespace, config in get_all_namespaces_for_service(service, full_name=False):
proxy_port = config.get('proxy_port', None)
if proxy_port is not None:
lines.append("%s (%d/tcp)" % (compose_job_id(service, namespace), proxy_port))
return lines
开发者ID:Jordan50,项目名称:paasta,代码行数:12,代码来源:generate_services_file.py
示例8: get_service_lines_for_service
def get_service_lines_for_service(service):
lines = []
config = service_configuration_lib.read_service_configuration(service)
port = config.get('port', None)
description = config.get('description', "No description")
if port is not None:
lines.append("%s\t%d/tcp\t# %s" % (service, port, description))
for namespace, config in get_all_namespaces_for_service(service, full_name=False):
proxy_port = config.get('proxy_port', None)
if proxy_port is not None:
lines.append("%s\t%d/tcp\t# %s" % (compose_job_id(service, namespace), proxy_port, description))
return [line.encode('utf-8') for line in lines]
开发者ID:RedCobbler,项目名称:paasta,代码行数:14,代码来源:generate_services_file.py
示例9: load_marathon_service_config
def load_marathon_service_config(service, instance, cluster, load_deployments=True, soa_dir=DEFAULT_SOA_DIR):
"""Read a service instance's configuration for marathon.
If a branch isn't specified for a config, the 'branch' key defaults to
paasta-${cluster}.${instance}.
:param name: The service name
:param instance: The instance of the service to retrieve
:param cluster: The cluster to read the configuration for
:param load_deployments: A boolean indicating if the corresponding deployments.json for this service
should also be loaded
:param soa_dir: The SOA configuration directory to read from
:returns: A dictionary of whatever was in the config for the service instance"""
log.info("Reading service configuration files from dir %s/ in %s" % (service, soa_dir))
log.info("Reading general configuration file: service.yaml")
general_config = service_configuration_lib.read_service_configuration(
service,
soa_dir=soa_dir
)
marathon_conf_file = "marathon-%s" % cluster
log.info("Reading marathon configuration file: %s.yaml", marathon_conf_file)
instance_configs = service_configuration_lib.read_extra_service_information(
service,
marathon_conf_file,
soa_dir=soa_dir
)
if instance not in instance_configs:
raise NoConfigurationForServiceError(
"%s not found in config file %s/%s/%s.yaml." % (instance, soa_dir, service, marathon_conf_file)
)
general_config = deep_merge_dictionaries(overrides=instance_configs[instance], defaults=general_config)
branch_dict = {}
if load_deployments:
deployments_json = load_deployments_json(service, soa_dir=soa_dir)
branch = general_config.get('branch', get_paasta_branch(cluster, instance))
branch_dict = deployments_json.get_branch_dict(service, branch)
return MarathonServiceConfig(
service=service,
cluster=cluster,
instance=instance,
config_dict=general_config,
branch_dict=branch_dict,
)
开发者ID:striglia,项目名称:paasta,代码行数:47,代码来源:marathon_tools.py
示例10: get_all_namespaces_for_service
def get_all_namespaces_for_service(service, soa_dir=DEFAULT_SOA_DIR, full_name=True):
"""Get all the smartstack namespaces listed for a given service name.
:param service: The service name
:param soa_dir: The SOA config directory to read from
:param full_name: A boolean indicating if the service name should be prepended to the namespace in the
returned tuples as described below (Default: True)
:returns: A list of tuples of the form (service<SPACER>namespace, namespace_config) if full_name is true,
otherwise of the form (namespace, namespace_config)
"""
service_config = service_configuration_lib.read_service_configuration(service, soa_dir)
smartstack = service_config.get('smartstack', {})
namespace_list = []
for namespace in smartstack:
if full_name:
name = compose_job_id(service, namespace)
else:
name = namespace
namespace_list.append((name, smartstack[namespace]))
return namespace_list
开发者ID:striglia,项目名称:paasta,代码行数:20,代码来源:marathon_tools.py
示例11: get_pipeline_config
def get_pipeline_config(service, soa_dir):
service_configuration = read_service_configuration(service, soa_dir)
return service_configuration.get('deploy', {}).get('pipeline', [])
开发者ID:seco,项目名称:paasta,代码行数:3,代码来源:check.py
示例12: load_service_namespace_config
def load_service_namespace_config(service, namespace, soa_dir=DEFAULT_SOA_DIR):
"""Attempt to read the configuration for a service's namespace in a more strict fashion.
Retrevies the following keys:
- proxy_port: the proxy port defined for the given namespace
- healthcheck_mode: the mode for the healthcheck (http or tcp)
- healthcheck_port: An alternate port to use for health checking
- healthcheck_uri: URI target for healthchecking
- healthcheck_timeout_s: healthcheck timeout in seconds
- updown_timeout_s: updown_service timeout in seconds
- timeout_connect_ms: proxy frontend timeout in milliseconds
- timeout_server_ms: proxy server backend timeout in milliseconds
- timeout_client_ms: proxy server client timeout in milliseconds
- retries: the number of retries on a proxy backend
- mode: the mode the service is run in (http or tcp)
- routes: a list of tuples of (source, destination)
- discover: the scope at which to discover services e.g. 'habitat'
- advertise: a list of scopes to advertise services at e.g. ['habitat', 'region']
- extra_advertise: a list of tuples of (source, destination)
e.g. [('region:dc6-prod', 'region:useast1-prod')]
- extra_healthcheck_headers: a dict of HTTP headers that must
be supplied when health checking. E.g. { 'Host': 'example.com' }
:param service: The service name
:param namespace: The namespace to read
:param soa_dir: The SOA config directory to read from
:returns: A dict of the above keys, if they were defined
"""
service_config = service_configuration_lib.read_service_configuration(service, soa_dir)
smartstack_config = service_config.get('smartstack', {})
namespace_config_from_file = smartstack_config.get(namespace, {})
service_namespace_config = ServiceNamespaceConfig()
# We can't really use .get, as we don't want the key to be in the returned
# dict at all if it doesn't exist in the config file.
# We also can't just copy the whole dict, as we only care about some keys
# and there's other things that appear in the smartstack section in
# several cases.
key_whitelist = set([
'healthcheck_mode',
'healthcheck_uri',
'healthcheck_port',
'healthcheck_timeout_s',
'updown_timeout_s',
'proxy_port',
'timeout_connect_ms',
'timeout_server_ms',
'timeout_client_ms',
'retries',
'mode',
'discover',
'advertise',
'extra_healthcheck_headers'
])
for key, value in namespace_config_from_file.items():
if key in key_whitelist:
service_namespace_config[key] = value
# Other code in paasta_tools checks 'mode' after the config file
# is loaded, so this ensures that it is set to the appropriate default
# if not otherwise specified, even if appropriate default is None.
service_namespace_config['mode'] = service_namespace_config.get_mode()
if 'routes' in namespace_config_from_file:
service_namespace_config['routes'] = [(route['source'], dest)
for route in namespace_config_from_file['routes']
for dest in route['destinations']]
if 'extra_advertise' in namespace_config_from_file:
service_namespace_config['extra_advertise'] = [
(src, dst)
for src in namespace_config_from_file['extra_advertise']
for dst in namespace_config_from_file['extra_advertise'][src]
]
return service_namespace_config
开发者ID:striglia,项目名称:paasta,代码行数:79,代码来源:marathon_tools.py
注:本文中的service_configuration_lib.read_service_configuration函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论