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 = '******' 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()
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 = "******" 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()
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') password = '******' resp, rebuilt_server = self.client.rebuild(self.server_id, self.image_ref_alt, name=new_name, metadata=meta, admin_password=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()
def test_change_server_password(self): # The server's password should be set to the provided password new_password = '******' 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()
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']) linux_client.validate_authentication()