本文整理匯總了Python中fuelweb_test.models.nailgun_client.NailgunClient.reset_environment方法的典型用法代碼示例。如果您正苦於以下問題:Python NailgunClient.reset_environment方法的具體用法?Python NailgunClient.reset_environment怎麽用?Python NailgunClient.reset_environment使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類fuelweb_test.models.nailgun_client.NailgunClient
的用法示例。
在下文中一共展示了NailgunClient.reset_environment方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: FuelWebClient
# 需要導入模塊: from fuelweb_test.models.nailgun_client import NailgunClient [as 別名]
# 或者: from fuelweb_test.models.nailgun_client.NailgunClient import reset_environment [as 別名]
#.........這裏部分代碼省略.........
for i in [0, -20, -40]:
for k in range(11):
expected_ips.append(str(net[-12 + i + k]))
e, s = str(net[-12 + i]), str(net[-2 + i])
ip_ranges.append([e, s])
return ip_ranges, expected_ips
def warm_restart_nodes(self, devops_nodes):
logger.info('Reboot (warm restart) nodes %s',
[n.name for n in devops_nodes])
for node in devops_nodes:
logger.info('Shutdown node %s', node.name)
remote = self.get_ssh_for_node(node.name)
remote.check_call('/sbin/shutdown -Ph now')
for node in devops_nodes:
logger.info('Wait a %s node offline status', node.name)
wait(
lambda: not self.get_nailgun_node_by_devops_node(node)[
'online'])
logger.info('Start %s node', node.name)
node.destroy()
node.create()
for node in devops_nodes:
wait(
lambda: self.get_nailgun_node_by_devops_node(node)['online'])
def cold_restart_nodes(self, devops_nodes):
logger.info('Cold restart nodes %s',
[n.name for n in devops_nodes])
for node in devops_nodes:
logger.info('Destroy node %s', node.name)
node.destroy()
for node in devops_nodes:
logger.info('Wait a %s node offline status', node.name)
wait(lambda: not self.get_nailgun_node_by_devops_node(
node)['online'])
logger.info('Start %s node', node.name)
node.create()
for node in devops_nodes:
wait(
lambda: self.get_nailgun_node_by_devops_node(node)['online'])
@logwrap
def ip_address_show(self, node_name, interface, pipe_str=''):
try:
remote = self.get_ssh_for_node(node_name)
ret = remote.check_call(
'ip address show {0} {1}'.format(interface, pipe_str))
return ' '.join(ret['stdout'])
except DevopsCalledProcessError as err:
logger.error(err.message)
return ''
@logwrap
def ip_address_del(self, node_name, interface, ip):
logger.info('Delete %s ip address of %s interface at %s node',
ip, interface, node_name)
remote = self.get_ssh_for_node(node_name)
remote.check_call(
'ip addr del {0} dev {1}'.format(ip, interface))
@logwrap
def provisioning_cluster_wait(self, cluster_id, progress=None):
logger.info('Start cluster #%s provisioning', cluster_id)
task = self.client.provision_nodes(cluster_id)
self.assert_task_success(task, progress=progress)
@logwrap
def deploy_task_wait(self, cluster_id, progress):
logger.info('Start cluster #%s deployment', cluster_id)
task = self.client.deploy_nodes(cluster_id)
self.assert_task_success(
task, progress=progress)
@logwrap
def stop_deployment_wait(self, cluster_id):
logger.info('Stop cluster #%s deployment', cluster_id)
task = self.client.stop_deployment(cluster_id)
self.assert_task_success(task, timeout=50 * 60, interval=30)
@logwrap
def stop_reset_env_wait(self, cluster_id):
logger.info('Reset cluster #%s', cluster_id)
task = self.client.reset_environment(cluster_id)
self.assert_task_success(task, timeout=50 * 60, interval=30)
@logwrap
def wait_nodes_get_online_state(self, nodes):
for node in nodes:
logger.info('Wait for %s node online status', node.name)
wait(lambda:
self.get_nailgun_node_by_devops_node(node)['online'],
timeout=60 * 4)
node = self.get_nailgun_node_by_devops_node(node)
assert_true(node['online'],
'Node {0} is online'.format(node['mac']))
示例2: FuelWebClient
# 需要導入模塊: from fuelweb_test.models.nailgun_client import NailgunClient [as 別名]
# 或者: from fuelweb_test.models.nailgun_client.NailgunClient import reset_environment [as 別名]
#.........這裏部分代碼省略.........
return ''
@logwrap
def ip_address_del(self, node_name, namespace, interface, ip):
logger.info('Delete %s ip address of %s interface at %s node',
ip, interface, node_name)
remote = self.get_ssh_for_node(node_name)
remote.check_call(
'ip netns exec {0} ip addr'
' del {1} dev {2}'.format(namespace, ip, interface))
@logwrap
def provisioning_cluster_wait(self, cluster_id, progress=None):
logger.info('Start cluster #%s provisioning', cluster_id)
task = self.client.provision_nodes(cluster_id)
self.assert_task_success(task, progress=progress)
@logwrap
def deploy_task_wait(self, cluster_id, progress):
logger.info('Start cluster #%s deployment', cluster_id)
task = self.client.deploy_nodes(cluster_id)
self.assert_task_success(
task, progress=progress)
@logwrap
def stop_deployment_wait(self, cluster_id):
logger.info('Stop cluster #%s deployment', cluster_id)
task = self.client.stop_deployment(cluster_id)
self.assert_task_success(task, timeout=50 * 60, interval=30)
@logwrap
def stop_reset_env_wait(self, cluster_id):
logger.info('Reset cluster #%s', cluster_id)
task = self.client.reset_environment(cluster_id)
self.assert_task_success(task, timeout=50 * 60, interval=30)
@logwrap
def wait_nodes_get_online_state(self, nodes):
for node in nodes:
logger.info('Wait for %s node online status', node.name)
wait(lambda:
self.get_nailgun_node_by_devops_node(node)['online'],
timeout=60 * 4)
node = self.get_nailgun_node_by_devops_node(node)
assert_true(node['online'],
'Node {0} is online'.format(node['mac']))
@logwrap
def wait_mysql_galera_is_up(self, node_names):
for node_name in node_names:
remote = self.environment.get_ssh_to_remote_by_name(node_name)
cmd = ("mysql --connect_timeout=5 -sse \"SELECT VARIABLE_VALUE "
"FROM information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME"
" = 'wsrep_ready';\"")
try:
wait(lambda:
''.join(remote.execute(cmd)['stdout']).strip() == 'ON',
timeout=30 * 4)
logger.info("MySQL Galera is up on {host} node.".format(
host=node_name))
except TimeoutError:
logger.error("MySQL Galera isn't ready on {h}: {o} {e}"
.format(h=node_name,
o=''.join(remote.execute(cmd)['stdout']
.strip()),
e=remote.execute(cmd)['stderr']))