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_reboot_server(self): """Verify that a server can be rebooted.""" # Verify the server goes through the correct states # when rebooting states = utils.StatusTracker("active", "build", "active") self.server.reboot() adaptor.assert_true(states.waitForState(self.os.servers.get, "status", self.server))
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_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 setUpClass(cls): """Set up an instance for use by the enclosed tests.""" # Need an OpenStack instance so we can create the server os = cls.getOpenStack() # Select a random key and value for metadata; used by the # metadata tests cls.meta_key = cls.randName(length=10) cls.meta_data = cls.randName(length=50) # Set up the server cls.flavor = FLAGS.flavor cls.image = FLAGS.image cls.server_name = cls.randName() cls.server = os.servers.create(name=cls.server_name, image=cls.image, flavor=cls.flavor, meta={cls.meta_key: cls.meta_data}) # Wait for the server to transition to the appropriate state states = utils.StatusTracker('active', 'build', 'active') adaptor.assert_true(states.waitForState(os.servers.get, 'status', cls.server))
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)