Exemple #1
0
    def test_discard_a_blessed_instance(self):
        self.vmsconn.set_return_val("discard", None)
        blessed_uuid = utils.create_blessed_instance(
            self.context, source_uuid="UNITTEST_DISCARD")

        pre_discard_time = datetime.utcnow()
        self.gridcentric.discard_instance(self.context,
                                          instance_uuid=blessed_uuid)

        try:
            db.instance_get(self.context, blessed_uuid)
            self.fail(
                "The blessed instance should no longer exists after being discarded."
            )
        except exception.InstanceNotFound:
            # This ensures that the instance has been marked as deleted in the database. Now assert
            # that the rest of its attributes have been marked.
            self.context.read_deleted = 'yes'
            instances = db.instance_get_all(self.context)

            self.assertEquals(1, len(instances))
            discarded_instance = instances[0]

            self.assertTrue(
                pre_discard_time <= discarded_instance['terminated_at'])
            self.assertEquals(vm_states.DELETED,
                              discarded_instance['vm_state'])
Exemple #2
0
    def test_check_delete(self):

        instance_uuid = utils.create_instance(self.context)
        # This should not raise an error because the instance is not blessed.
        self.gridcentric_api.check_delete(self.context, instance_uuid)

        blessed_instance_uuid = utils.create_blessed_instance(self.context)
        try:
            self.gridcentric_api.check_delete(self.context, blessed_instance_uuid)
            self.fail("Check delete should fail for a blessed instance.")
        except exception.NovaException:
            pass
Exemple #3
0
    def test_check_delete(self):

        instance_uuid = utils.create_instance(self.context)
        # This should not raise an error because the instance is not blessed.
        self.gridcentric_api.check_delete(self.context, instance_uuid)

        blessed_instance_uuid = utils.create_blessed_instance(self.context)
        try:
            self.gridcentric_api.check_delete(self.context,
                                              blessed_instance_uuid)
            self.fail("Check delete should fail for a blessed instance.")
        except exception.NovaException:
            pass
Exemple #4
0
    def test_discard(self):

        blessed_uuid = utils.create_blessed_instance(self.context)
        pre_usages = db.quota_usage_get_all_by_project(self.context, self.context.project_id)

        self.gridcentric_api.discard_instance(self.context, blessed_uuid)

        instance = db.instance_get_by_uuid(self.context, blessed_uuid)

        self.assertEqual(task_states.DELETING, instance['task_state'])

        # Assert that the resources have diminished.
        post_usages = db.quota_usage_get_all_by_project(self.context, self.context.project_id)
        self.assertEqual(pre_usages['instances'].get('in_use',0) - 1,
                         post_usages['instances'].get('in_use',0))
        self.assertEqual(pre_usages['ram'].get('in_use', 0) - instance['memory_mb'],
                         post_usages['ram'].get('in_use',0))
        self.assertEqual(pre_usages['cores'].get('in_use',0) - instance['vcpus'],
                         post_usages['cores'].get('in_use',0))
Exemple #5
0
    def test_discard_a_blessed_instance(self):
        self.vmsconn.set_return_val("discard", None)
        blessed_uuid = utils.create_blessed_instance(self.context, source_uuid="UNITTEST_DISCARD")

        pre_discard_time = datetime.utcnow()
        self.gridcentric.discard_instance(self.context, instance_uuid=blessed_uuid)

        try:
            db.instance_get(self.context, blessed_uuid)
            self.fail("The blessed instance should no longer exists after being discarded.")
        except exception.InstanceNotFound:
            # This ensures that the instance has been marked as deleted in the database. Now assert
            # that the rest of its attributes have been marked.
            self.context.read_deleted = 'yes'
            instances = db.instance_get_all(self.context)

            self.assertEquals(1, len(instances))
            discarded_instance = instances[0]

            self.assertTrue(pre_discard_time <= discarded_instance['terminated_at'])
            self.assertEquals(vm_states.DELETED, discarded_instance['vm_state'])
Exemple #6
0
    def test_discard(self):

        blessed_uuid = utils.create_blessed_instance(self.context)
        pre_usages = db.quota_usage_get_all_by_project(self.context,
                                                       self.context.project_id)

        self.gridcentric_api.discard_instance(self.context, blessed_uuid)

        instance = db.instance_get_by_uuid(self.context, blessed_uuid)

        self.assertEqual(task_states.DELETING, instance['task_state'])

        # Assert that the resources have diminished.
        post_usages = db.quota_usage_get_all_by_project(
            self.context, self.context.project_id)
        self.assertEqual(pre_usages['instances'].get('in_use', 0) - 1,
                         post_usages['instances'].get('in_use', 0))
        self.assertEqual(
            pre_usages['ram'].get('in_use', 0) - instance['memory_mb'],
            post_usages['ram'].get('in_use', 0))
        self.assertEqual(
            pre_usages['cores'].get('in_use', 0) - instance['vcpus'],
            post_usages['cores'].get('in_use', 0))