def test_create_delete_server(self): """Verify that a server is created and that it is deleted.""" # Setup server_name = self.randName() new_server = self.os.servers.create(name=server_name, image=FLAGS.image, flavor=FLAGS.flavor) # Legal states... states = utils.StatusTracker('active', 'build', 'active') # Wait for server to transition to next state and make sure it # went to the correct one adaptor.assert_true(states.waitForState(self.os.servers.get, 'status', new_server)) # Verify the server was created correctly created_server = self.os.servers.get(new_server.id) adaptor.assert_equal(server_name, created_server.name) # Delete the server and verify it is removed new_server.delete() # Legal states...I don't believe it'll ever go to 'deleted', # though... states = utils.StatusTracker('active', 'build', 'deleted') try: states.waitForState(self.os.servers.get, 'status', new_server.id) except novaclient.NotFound: return
def test_update_server_name(self): """Verify that a server's name can be modified.""" server = self.server self.os.servers.update(server=server.id, name='modifiedName') # Verify the server's name has changed updated_server = self.os.servers.get(server) adaptor.assert_equal('modifiedName', updated_server.name)
def test_get_server(self): """Test that the expected server details are returned.""" # Verify the server fields are correct flavor = self.os.flavors.get(self.flavor) image = self.os.images.get(self.image) server = self.os.servers.get(self.server) adaptor.assert_equal(int(image.id), int(server.imageId)) adaptor.assert_equal(int(flavor.id), int(server.flavorId))
def test_create_server_image(self): """Verify a backup image for a server can be created.""" # Set legal states states = utils.StatusTracker('active', 'queued', 'preparing', 'saving', 'active') # Make a backup image for the server backup_image = self.os.images.create("backup", self.server) adaptor.assert_true(states.waitForState(self.os.images.get, 'status', backup_image)) adaptor.assert_equal(backup_image.name, "backup")
def test_get(self): """Test that we can get the details of a given flavor.""" # Check the flavors for exemplar in self.recognized_flavors.values(): flav = self.os.flavors.get(exemplar['id']) # Check that all the details match adaptor.assert_equal(exemplar['id'], flav.id) adaptor.assert_equal(exemplar['name'], flav.name) adaptor.assert_equal(exemplar['ram'], flav.ram) adaptor.assert_equal(exemplar['disk'], flav.disk)
def test_list(self): """Test that images can be listed.""" # See if we can retrieve the list of images images = self.os.images.list() # Do we have a list? adaptor.assert_not_equal(len(images), 0) # Let's see if our test image is in the list foundimg = False for img in images: if img.id == self._image_id: adaptor.assert_equal(img.name, self._image_name) adaptor.assert_equal(img.status, 'ACTIVE') foundimg = True # Did we actually find the image we were looking for? adaptor.assert_true(foundimg)
def test_resize_server_revert(self): """Verify that a re-sized server can be reverted.""" # Resize the server and wait for it to finish new_flavor = self.os.flavors.get(2) self.server.resize(new_flavor) # Create list of states states = utils.StatusTracker("active", "resize-confirm") # Wait for server to transition to next state and make sure it # went to the correct one adaptor.assert_true(states.waitForState(self.os.servers.get, "status", self.server)) # Revert the resize self.server.revert_resize() # Check that the was reverted to its original flavor self.server = self.os.servers.get(self.server) adaptor.assert_equal(new_flavor.id, self.server.flavorId)
def test_resize_server_confirm(self): """Verify that the flavor of a server can be changed.""" # Resize the server and wait for it to finish new_flavor = self.os.flavors.get(2) self.server.resize(new_flavor) # Legal states... states = utils.StatusTracker("active", "resize-confirm") # Wait for server to transition to next state and make sure it # went to the correct one adaptor.assert_true(states.waitForState(self.os.servers.get, "status", self.server)) # Confirm the resize self.server.confirm_resize() # Check that server's flavor has changed self.server = self.os.servers.get(self.server) adaptor.assert_equal(new_flavor.id, self.server.flavorId)
def test_snap_and_restore(self): """Verify that a server is snapped and rebuilt from that snap""" states = utils.StatusTracker('active', 'queued', 'preparing', 'saving', 'active') # Make a backup image for the server backup_image = self.os.images.create("backup", self.server) adaptor.assert_true(states.waitForState(self.os.images.get, 'status', backup_image)) adaptor.assert_equal(backup_image.name, "backup") # Finally, rebuild from the image states = utils.StatusTracker('active', 'build', 'active') self.os.servers.rebuild(self.server.id, backup_image.id) adaptor.assert_true(states.waitForState(self.os.servers.get, 'status', self.server)) created_server = self.os.servers.get(self.server.id) adaptor.assert_equal(backup_image.id, created_server.imageId)
def test_get(self): """Test that we can get the details of a given image.""" # Let's try to get our test image img = self.os.images.get(self._image_id) # Check that all the details match adaptor.assert_equal(img.id, self._image_id) adaptor.assert_equal(img.name, self._image_name) adaptor.assert_equal(img.status, 'ACTIVE')
def test_list(self): """Test that flavors can be listed.""" # See if we can retrieve the list of flavors flavors = self.os.flavors.list() # Do we have a list? adaptor.assert_not_equal(len(flavors), 0) # Let's see if some of our base-line flavors are present foundflav = 0 for flav in flavors: if flav.name in self.recognized_flavors: exemplar = self.recognized_flavors[flav.name] adaptor.assert_equal(flav.id, exemplar['id']) adaptor.assert_equal(flav.ram, exemplar['ram']) adaptor.assert_equal(flav.disk, exemplar['disk']) foundflav += 1 # Make sure we found our flavors adaptor.assert_equal(len(self.recognized_flavors), foundflav)