本文整理汇总了Python中tempest.common.utils.linux.remote_client.RemoteClient类的典型用法代码示例。如果您正苦于以下问题:Python RemoteClient类的具体用法?Python RemoteClient怎么用?Python RemoteClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了RemoteClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_rebuild_server
def test_rebuild_server(self):
# The server should be rebuilt using the provided image and data
meta = {'rebuild': 'server'}
new_name = data_utils.rand_name('server')
file_contents = 'Test server rebuild.'
personality = [{'path': 'rebuild.txt',
'contents': base64.b64encode(file_contents)}]
password = 'rebuildPassw0rd'
resp, rebuilt_server = self.client.rebuild(self.server_id,
self.image_ref_alt,
name=new_name,
metadata=meta,
personality=personality,
admin_password=password)
# Verify the properties in the initial response are correct
self.assertEqual(self.server_id, rebuilt_server['id'])
rebuilt_image_id = rebuilt_server['image']['id']
self.assertTrue(self.image_ref_alt.endswith(rebuilt_image_id))
self.assertEqual(self.flavor_ref, rebuilt_server['flavor']['id'])
# Verify the server properties after the rebuild completes
self.client.wait_for_server_status(rebuilt_server['id'], 'ACTIVE')
resp, server = self.client.get_server(rebuilt_server['id'])
rebuilt_image_id = rebuilt_server['image']['id']
self.assertTrue(self.image_ref_alt.endswith(rebuilt_image_id))
self.assertEqual(new_name, rebuilt_server['name'])
if self.run_ssh:
# Verify that the user can authenticate with the provided password
linux_client = RemoteClient(server, self.ssh_user, password)
linux_client.validate_authentication()
示例2: test_rebuild_server
def test_rebuild_server(self):
# The server should be rebuilt using the provided image and data
meta = {"rebuild": "server"}
new_name = data_utils.rand_name("server")
file_contents = "Test server rebuild."
personality = [{"path": "rebuild.txt", "contents": base64.b64encode(file_contents)}]
password = "rebuildPassw0rd"
resp, rebuilt_server = self.client.rebuild(
self.server_id,
self.image_ref_alt,
name=new_name,
metadata=meta,
personality=personality,
adminPass=password,
)
self.addCleanup(self.client.rebuild, self.server_id, self.image_ref)
# Verify the properties in the initial response are correct
self.assertEqual(self.server_id, rebuilt_server["id"])
rebuilt_image_id = rebuilt_server["image"]["id"]
self.assertTrue(self.image_ref_alt.endswith(rebuilt_image_id))
self.assertEqual(self.flavor_ref, rebuilt_server["flavor"]["id"])
# Verify the server properties after the rebuild completes
self.client.wait_for_server_status(rebuilt_server["id"], "ACTIVE")
resp, server = self.client.get_server(rebuilt_server["id"])
rebuilt_image_id = server["image"]["id"]
self.assertTrue(self.image_ref_alt.endswith(rebuilt_image_id))
self.assertEqual(new_name, server["name"])
if self.run_ssh:
# Verify that the user can authenticate with the provided password
linux_client = RemoteClient(server, self.ssh_user, password)
linux_client.validate_authentication()
示例3: test_attach_detach_volume
def test_attach_detach_volume(self):
# Stop and Start a server with an attached volume, ensuring that
# the volume remains attached.
self._create_and_attach()
server = self.server
volume = self.volume
self.servers_client.stop(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'SHUTOFF')
self.servers_client.start(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'ACTIVE')
linux_client = RemoteClient(server,
self.image_ssh_user, server['adminPass'])
partitions = linux_client.get_partitions()
self.assertIn(self.device, partitions)
self._detach(server['id'], volume['id'])
self.attached = False
self.servers_client.stop(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'SHUTOFF')
self.servers_client.start(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'ACTIVE')
linux_client = RemoteClient(server,
self.image_ssh_user, server['adminPass'])
partitions = linux_client.get_partitions()
self.assertNotIn(self.device, partitions)
示例4: test_verify_created_server_vcpus
def test_verify_created_server_vcpus(self):
"""
Verify that the number of vcpus reported by the instance matches
the amount stated by the flavor
"""
resp, flavor = self.flavors_client.get_flavor_details(self.flavor_ref)
linux_client = RemoteClient(self.server, self.ssh_user, self.password)
self.assertEqual(flavor['vcpus'], linux_client.get_number_of_vcpus())
示例5: test_change_server_password
def test_change_server_password(self):
# The server's password should be set to the provided password
new_password = 'Newpass1234'
resp, body = self.client.change_password(self.server_id, new_password)
self.assertEqual(202, resp.status)
self.client.wait_for_server_status(self.server_id, 'ACTIVE')
if self.run_ssh:
# Verify that the user can authenticate with the new password
resp, server = self.client.get_server(self.server_id)
linux_client = RemoteClient(server, self.ssh_user, new_password)
linux_client.validate_authentication()
示例6: test_reboot_server_soft
def test_reboot_server_soft(self):
# The server should be signaled to reboot gracefully
if self.run_ssh:
# Get the time the server was last rebooted,
resp, server = self.client.get_server(self.server_id)
linux_client = RemoteClient(server, self.ssh_user, self.password)
boot_time = linux_client.get_boot_time()
resp, body = self.client.reboot(self.server_id, 'SOFT')
self.assertEqual(202, resp.status)
self.client.wait_for_server_status(self.server_id, 'ACTIVE')
if self.run_ssh:
# Log in and verify the boot time has changed
linux_client = RemoteClient(server, self.ssh_user, self.password)
new_boot_time = linux_client.get_boot_time()
self.assertGreater(new_boot_time, boot_time)
示例7: test_reboot_server_hard
def test_reboot_server_hard(self):
# The server should be power cycled
if self.run_ssh:
# Get the time the server was last rebooted,
resp, server = self.client.get_server(self.server_id)
linux_client = RemoteClient(server, self.ssh_user, self.password)
boot_time = linux_client.get_boot_time()
resp, body = self.client.reboot(self.server_id, "HARD")
self.assertEqual(202, resp.status)
self.client.wait_for_server_status(self.server_id, "ACTIVE")
if self.run_ssh:
# Log in and verify the boot time has changed
linux_client = RemoteClient(server, self.ssh_user, self.password)
new_boot_time = linux_client.get_boot_time()
self.assertGreater(new_boot_time, boot_time)
示例8: test_reboot_server_soft
def test_reboot_server_soft(self):
"""The server should be signaled to reboot gracefully"""
if self.run_ssh:
# Get the time the server was last rebooted,
# waiting for one minute as who doesn't have seconds precision
resp, server = self.client.get_server(self.server_id)
linux_client = RemoteClient(server, self.ssh_user, self.password)
boot_time = linux_client.get_boot_time()
time.sleep(60)
resp, body = self.client.reboot(self.server_id, 'SOFT')
self.assertEqual(202, resp.status)
self.client.wait_for_server_status(self.server_id, 'ACTIVE')
if self.run_ssh:
# Log in and verify the boot time has changed
linux_client = RemoteClient(server, self.ssh_user, self.password)
new_boot_time = linux_client.get_boot_time()
self.assertGreater(new_boot_time, boot_time)
示例9: test_can_log_into_created_server
def test_can_log_into_created_server(self):
sid = self.stack_identifier
rid = 'SmokeServer'
# wait for server resource create to complete.
self.client.wait_for_resource_status(sid, rid, 'CREATE_COMPLETE')
resp, body = self.client.get_resource(sid, rid)
self.assertEqual('CREATE_COMPLETE', body['resource_status'])
# fetch the IP address from servers client, since we can't get it
# from the stack until stack create is complete
resp, server = self.servers_client.get_server(
body['physical_resource_id'])
# Check that the user can authenticate with the generated password
linux_client = RemoteClient(
server, 'ec2-user', pkey=self.keypair['private_key'])
self.assertTrue(linux_client.can_authenticate())
示例10: test_attach_detach_volume
def test_attach_detach_volume(self):
# Stop and Start a server with an attached volume, ensuring that
# the volume remains attached.
try:
self._create_and_attach()
server = self.server
volume = self.volume
self.servers_client.stop(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'SHUTOFF')
self.servers_client.start(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'ACTIVE')
linux_client = RemoteClient(server,
self.ssh_user, server['adminPass'])
partitions = linux_client.get_partitions()
self.assertTrue(self.device in partitions)
self._detach(server['id'], volume['id'])
self.attached = False
self.servers_client.stop(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'SHUTOFF')
self.servers_client.start(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'ACTIVE')
linux_client = RemoteClient(server,
self.ssh_user, server['adminPass'])
partitions = linux_client.get_partitions()
self.assertFalse(self.device in partitions)
except Exception:
self.fail("The test_attach_detach_volume is faild!")
finally:
if self.attached:
self._detach(server['id'], volume['id'])
# NOTE(maurosr): here we do the cleanup for volume, servers are
# dealt on BaseComputeTest.tearDownClass
self._delete(self.volume)
示例11: test_attach_detach_volume
def test_attach_detach_volume(self):
"""
Stop and Start a server with an attached volume, ensuring that
the volume remains attached.
"""
server, volume = self._create_and_attach()
attached = True
try:
self.servers_client.stop(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'SHUTOFF')
self.servers_client.start(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'ACTIVE')
linux_client = RemoteClient(server,
self.ssh_user, server['adminPass'])
partitions = linux_client.get_partitions()
self.assertTrue(self.device in partitions)
self._detach(server['id'], volume['id'])
attached = False
self.servers_client.stop(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'SHUTOFF')
self.servers_client.start(server['id'])
self.servers_client.wait_for_server_status(server['id'], 'ACTIVE')
linux_client = RemoteClient(server,
self.ssh_user, server['adminPass'])
partitions = linux_client.get_partitions()
self.assertFalse(self.device in partitions)
finally:
if attached:
self._detach(server['id'], volume['id'])
self._delete(server['id'], volume['id'])
示例12: _check_ssh_connectivity
def _check_ssh_connectivity(self, ip_address, username, pkey):
ssh_client = RemoteClient(ip_address, username, pkey=pkey)
self.assertTrue(ssh_client.can_authenticate())
示例13: test_integration_1
def test_integration_1(self):
# EC2 1. integration test (not strict)
image_ami = self.ec2_client.get_image(self.images["ami"]["image_id"])
sec_group_name = data_utils.rand_name("securitygroup-")
group_desc = sec_group_name + " security group description "
security_group = self.ec2_client.create_security_group(sec_group_name,
group_desc)
self.addResourceCleanUp(self.destroy_security_group_wait,
security_group)
self.assertTrue(
self.ec2_client.authorize_security_group(
sec_group_name,
ip_protocol="icmp",
cidr_ip="0.0.0.0/0",
from_port=-1,
to_port=-1))
self.assertTrue(
self.ec2_client.authorize_security_group(
sec_group_name,
ip_protocol="tcp",
cidr_ip="0.0.0.0/0",
from_port=22,
to_port=22))
reservation = image_ami.run(kernel_id=self.images["aki"]["image_id"],
ramdisk_id=self.images["ari"]["image_id"],
instance_type=self.instance_type,
key_name=self.keypair_name,
security_groups=(sec_group_name,))
self.addResourceCleanUp(self.destroy_reservation,
reservation)
volume = self.ec2_client.create_volume(1, self.zone)
self.addResourceCleanUp(self.destroy_volume_wait, volume)
instance = reservation.instances[0]
LOG.info("state: %s", instance.state)
if instance.state != "running":
self.assertInstanceStateWait(instance, "running")
address = self.ec2_client.allocate_address()
rcuk_a = self.addResourceCleanUp(address.delete)
self.assertTrue(address.associate(instance.id))
rcuk_da = self.addResourceCleanUp(address.disassociate)
# TODO(afazekas): ping test. dependecy/permission ?
self.assertVolumeStatusWait(volume, "available")
# NOTE(afazekas): it may be reports availble before it is available
ssh = RemoteClient(address.public_ip,
CONF.compute.ssh_user,
pkey=self.keypair.material)
text = data_utils.rand_name("Pattern text for console output -")
resp = ssh.write_to_console(text)
self.assertFalse(resp)
def _output():
output = instance.get_console_output()
return output.output
re_search_wait(_output, text)
part_lines = ssh.get_partitions().split('\n')
volume.attach(instance.id, "/dev/vdh")
def _volume_state():
volume.update(validate=True)
return volume.status
self.assertVolumeStatusWait(_volume_state, "in-use")
re_search_wait(_volume_state, "in-use")
# NOTE(afazekas): Different Hypervisor backends names
# differently the devices,
# now we just test is the partition number increased/decrised
def _part_state():
current = ssh.get_partitions().split('\n')
if current > part_lines:
return 'INCREASE'
if current < part_lines:
return 'DECREASE'
return 'EQUAL'
state_wait(_part_state, 'INCREASE')
part_lines = ssh.get_partitions().split('\n')
# TODO(afazekas): Resource compare to the flavor settings
volume.detach()
self.assertVolumeStatusWait(_volume_state, "available")
re_search_wait(_volume_state, "available")
LOG.info("Volume %s state: %s", volume.id, volume.status)
state_wait(_part_state, 'DECREASE')
instance.stop()
address.disassociate()
self.assertAddressDissasociatedWait(address)
self.cancelResourceCleanUp(rcuk_da)
address.release()
self.assertAddressReleasedWait(address)
#.........这里部分代码省略.........
示例14: ssh_to_server
def ssh_to_server(self):
username = self.config.scenario.ssh_user
self.linux_client = RemoteClient(self.floating_ip.ip, username, pkey=self.keypair.private_key)
示例15: TestMinimumBasicScenario
#.........这里部分代码省略.........
self._wait_for_server_status("ACTIVE")
def nova_list(self):
servers = self.compute_client.servers.list()
LOG.debug("server_list:%s" % servers)
self.assertTrue(self.server in servers)
def nova_show(self):
got_server = self.compute_client.servers.get(self.server)
LOG.debug("got server:%s" % got_server)
self.assertEqual(self.server, got_server)
def cinder_create(self):
name = rand_name("scenario-volume-")
LOG.debug("volume display-name:%s" % name)
self.volume = self.volume_client.volumes.create(size=1, display_name=name)
LOG.debug("volume created:%s" % self.volume.display_name)
self._wait_for_volume_status("available")
self.addCleanup(self.volume_client.volumes.delete, self.volume)
self.assertEqual(name, self.volume.display_name)
def cinder_list(self):
volumes = self.volume_client.volumes.list()
self.assertTrue(self.volume in volumes)
def cinder_show(self):
volume = self.volume_client.volumes.get(self.volume.id)
self.assertEqual(self.volume, volume)
def nova_volume_attach(self):
attach_volume_client = self.compute_client.volumes.create_server_volume
volume = attach_volume_client(self.server.id, self.volume.id, "/dev/vdb")
self.assertEqual(self.volume.id, volume.id)
self._wait_for_volume_status("in-use")
def nova_reboot(self):
self.server.reboot()
self._wait_for_server_status("ACTIVE")
def nova_floating_ip_create(self):
self.floating_ip = self.compute_client.floating_ips.create()
self.addCleanup(self.floating_ip.delete)
def nova_floating_ip_add(self):
self.server.add_floating_ip(self.floating_ip)
def nova_security_group_rule_create(self):
sgs = self.compute_client.security_groups.list()
for sg in sgs:
if sg.name == "default":
secgroup = sg
ruleset = {
# ssh
"ip_protocol": "tcp",
"from_port": 22,
"to_port": 22,
"cidr": "0.0.0.0/0",
"group_id": None,
}
sg_rule = self.compute_client.security_group_rules.create(secgroup.id, **ruleset)
self.addCleanup(self.compute_client.security_group_rules.delete, sg_rule.id)
def ssh_to_server(self):
username = self.config.scenario.ssh_user
self.linux_client = RemoteClient(self.floating_ip.ip, username, pkey=self.keypair.private_key)
def check_partitions(self):
partitions = self.linux_client.get_partitions()
self.assertEqual(1, partitions.count("vdb"))
def nova_volume_detach(self):
detach_volume_client = self.compute_client.volumes.delete_server_volume
detach_volume_client(self.server.id, self.volume.id)
self._wait_for_volume_status("available")
volume = self.volume_client.volumes.get(self.volume.id)
self.assertEqual("available", volume.status)
def test_minimum_basic_scenario(self):
self.glance_image_create()
self.nova_keypair_add()
self.nova_boot()
self.nova_list()
self.nova_show()
self.cinder_create()
self.cinder_list()
self.cinder_show()
self.nova_volume_attach()
self.cinder_show()
self.nova_reboot()
self.nova_floating_ip_create()
self.nova_floating_ip_add()
self.nova_security_group_rule_create()
self.ssh_to_server()
self.check_partitions()
self.nova_volume_detach()