Пример #1
0
    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
Пример #2
0
    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)
Пример #3
0
    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))
Пример #4
0
    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")
Пример #5
0
    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)
Пример #6
0
    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)
Пример #7
0
    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)
Пример #8
0
    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)
Пример #9
0
    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)
Пример #10
0
    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')
Пример #11
0
    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)