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'])
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
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))
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'])
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))