本文整理汇总了Python中ovs.extensions.services.service.ServiceManager.unregister_service方法的典型用法代码示例。如果您正苦于以下问题:Python ServiceManager.unregister_service方法的具体用法?Python ServiceManager.unregister_service怎么用?Python ServiceManager.unregister_service使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ovs.extensions.services.service.ServiceManager
的用法示例。
在下文中一共展示了ServiceManager.unregister_service方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: delete_cluster
# 需要导入模块: from ovs.extensions.services.service import ServiceManager [as 别名]
# 或者: from ovs.extensions.services.service.ServiceManager import unregister_service [as 别名]
def delete_cluster(cluster_name, ip, filesystem=False):
"""
Deletes a complete cluster
:param cluster_name: Name of the cluster to remove
:type cluster_name: str
:param ip: IP address of the last node of a cluster
:type ip: str
:param filesystem: Indicates whether the configuration should be on the filesystem or in a configuration cluster
:type filesystem: bool
:return: None
"""
ArakoonInstaller._logger.debug('Deleting cluster {0} on {1}'.format(cluster_name, ip))
config = ArakoonClusterConfig(cluster_name, filesystem)
config.load_config(ip)
cluster_type = ArakoonInstaller.get_arakoon_metadata_by_cluster_name(cluster_name=config.cluster_id, filesystem=filesystem, ip=ip)['cluster_type']
service_name = ArakoonInstaller.get_service_name_for_cluster(cluster_name=config.cluster_id)
for node in config.nodes:
try:
ServiceManager.unregister_service(service_name=service_name, node_name=node.name)
except:
ArakoonInstaller._logger.exception('Un-registering service {0} on {1} failed'.format(service_name, ip))
# Cleans up a complete cluster (remove services, directories and configuration files)
for node in config.nodes:
ArakoonInstaller._destroy_node(config, node, delay_unregistration=cluster_type == ServiceType.ARAKOON_CLUSTER_TYPES.CFG)
config.delete_config(ip)
ArakoonInstaller._logger.debug('Deleting cluster {0} on {1} completed'.format(cluster_name, ip))
示例2: shrink_cluster
# 需要导入模块: from ovs.extensions.services.service import ServiceManager [as 别名]
# 或者: from ovs.extensions.services.service.ServiceManager import unregister_service [as 别名]
def shrink_cluster(deleted_node_ip, remaining_node_ips, cluster_name, offline_nodes=None, filesystem=False):
"""
Removes a node from a cluster, the old node will become a slave
:param deleted_node_ip: The ip of the node that should be deleted
:type deleted_node_ip: str
:param remaining_node_ips: The IPs of the remaining nodes
:type remaining_node_ips: list
:param cluster_name: The name of the cluster to shrink
:type cluster_name: str
:param offline_nodes: Storage Routers which are offline
:type offline_nodes: list
:param filesystem: Indicates whether the configuration should be on the filesystem or in a configuration cluster
:type filesystem: bool
:return: Remaining running arakoon IPs
:rtype: list
"""
ArakoonInstaller._logger.debug('Shrinking cluster {0} from {1}'.format(cluster_name, deleted_node_ip))
config = ArakoonClusterConfig(cluster_name, filesystem)
config.load_config(remaining_node_ips[0])
cluster_type = ArakoonInstaller.get_arakoon_metadata_by_cluster_name(cluster_name=config.cluster_id, filesystem=filesystem, ip=remaining_node_ips[0])['cluster_type']
if offline_nodes is None:
offline_nodes = []
removal_node = None
for node in config.nodes[:]:
if node.ip == deleted_node_ip:
config.nodes.remove(node)
removal_node = node
if node.ip not in offline_nodes:
ArakoonInstaller._destroy_node(config, node, delay_unregistration=cluster_type == ServiceType.ARAKOON_CLUSTER_TYPES.CFG)
if filesystem is True:
config.delete_config(node.ip)
ArakoonInstaller._deploy(config=config,
filesystem=filesystem,
offline_nodes=offline_nodes,
delay_service_registration=cluster_type == ServiceType.ARAKOON_CLUSTER_TYPES.CFG)
restart_ips = [node.ip for node in config.nodes if node.ip != deleted_node_ip and node.ip not in offline_nodes]
ArakoonInstaller._logger.debug('Shrinking cluster {0} from {1} completed'.format(cluster_name, deleted_node_ip))
ArakoonInstaller._logger.debug('Restart sequence (remove) for {0}'.format(cluster_name))
ArakoonInstaller._logger.debug('Remaining ips: {0}'.format(', '.join(restart_ips)))
for ip in restart_ips:
client = SSHClient(ip, username='root')
ArakoonInstaller.stop(cluster_name, client=client)
ArakoonInstaller.start(cluster_name, client=client)
ArakoonInstaller._logger.debug(' Restarted node {0} for cluster {1}'.format(client.ip, cluster_name))
if len(restart_ips) > 2: # A two node cluster needs all nodes running
ArakoonInstaller.wait_for_cluster(cluster_name, restart_ips[0], filesystem)
ArakoonInstaller.wait_for_cluster(cluster_name, restart_ips[0], filesystem)
config = ArakoonClusterConfig(cluster_name, filesystem)
config.load_config(restart_ips[0])
arakoon_client = ArakoonInstaller.build_client(config)
arakoon_client.set(ArakoonInstaller.INTERNAL_CONFIG_KEY, config.export_ini())
if removal_node is not None:
# noinspection PyUnresolvedReferences
ServiceManager.unregister_service(node_name=removal_node.name,
service_name=ArakoonInstaller.get_service_name_for_cluster(cluster_name=config.cluster_id))
ArakoonInstaller._logger.debug('Restart sequence (remove) for {0} completed'.format(cluster_name))
return restart_ips