Esempio n. 1
0
    def test_bless_instance(self):

        self.vmsconn.set_return_val(
            "bless", ("newname", "migration_url", ["file1", "file2", "file3"]))
        self.vmsconn.set_return_val("post_bless",
                                    ["file1_ref", "file2_ref", "file3_ref"])
        self.vmsconn.set_return_val("bless_cleanup", None)

        pre_bless_time = datetime.utcnow()
        blessed_uuid = utils.create_pre_blessed_instance(self.context)
        migration_url = self.gridcentric.bless_instance(
            self.context, instance_uuid=blessed_uuid, migration_url=None)

        blessed_instance = db.instance_get_by_uuid(self.context, blessed_uuid)
        self.assertEquals("blessed", blessed_instance['vm_state'])
        self.assertEquals("migration_url", migration_url)
        metadata = db.instance_metadata_get(self.context, blessed_uuid)
        self.assertEquals("file1_ref,file2_ref,file3_ref", metadata['images'])

        # note(dscannell): Although we set the blessed metadata to True in the code, we need to compare
        # it against '1'. This is because the True gets converted to a '1' when added to the database.
        self.assertEquals('1', metadata['blessed'])
        self.assertTrue(pre_bless_time <= blessed_instance['launched_at'])

        self.assertTrue(blessed_instance['disable_terminate'])
Esempio n. 2
0
    def test_bless_instance_exception(self):
        self.vmsconn.set_return_val("bless", utils.TestInducedException())

        blessed_uuid = utils.create_pre_blessed_instance(self.context)

        migration_url = None
        try:
            migration_url = self.gridcentric.bless_instance(
                self.context, instance_uuid=blessed_uuid, migration_url=None)
            self.fail("The bless error should have been re-raised up.")
        except utils.TestInducedException:
            pass

        blessed_instance = db.instance_get_by_uuid(self.context, blessed_uuid)
        self.assertEquals(vm_states.ERROR, blessed_instance['vm_state'])
        self.assertEquals(None, migration_url)
        metadata = db.instance_metadata_get(self.context, blessed_uuid)
        self.assertEquals(None, metadata.get('images', None))
        self.assertEquals(None, metadata.get('blessed', None))
        self.assertEquals(None, blessed_instance['launched_at'])

        self.assertFalse(blessed_instance.get('disable_terminate', False))
Esempio n. 3
0
    def test_bless_instance_exception(self):
        self.vmsconn.set_return_val("bless", utils.TestInducedException())

        blessed_uuid = utils.create_pre_blessed_instance(self.context)

        migration_url = None
        try:
            migration_url = self.gridcentric.bless_instance(self.context,
                                                            instance_uuid=blessed_uuid,
                                                            migration_url=None)
            self.fail("The bless error should have been re-raised up.")
        except utils.TestInducedException:
            pass

        blessed_instance = db.instance_get_by_uuid(self.context, blessed_uuid)
        self.assertEquals(vm_states.ERROR, blessed_instance['vm_state'])
        self.assertEquals(None, migration_url)
        metadata = db.instance_metadata_get(self.context, blessed_uuid)
        self.assertEquals(None, metadata.get('images', None))
        self.assertEquals(None, metadata.get('blessed', None))
        self.assertEquals(None, blessed_instance['launched_at'])

        self.assertFalse(blessed_instance.get('disable_terminate', False))
Esempio n. 4
0
    def test_bless_instance(self):

        self.vmsconn.set_return_val("bless",
                                    ("newname", "migration_url", ["file1", "file2", "file3"]))
        self.vmsconn.set_return_val("post_bless", ["file1_ref", "file2_ref", "file3_ref"])
        self.vmsconn.set_return_val("bless_cleanup", None)

        pre_bless_time = datetime.utcnow()
        blessed_uuid = utils.create_pre_blessed_instance(self.context)
        migration_url = self.gridcentric.bless_instance(self.context, instance_uuid=blessed_uuid,
                                                        migration_url=None)

        blessed_instance = db.instance_get_by_uuid(self.context, blessed_uuid)
        self.assertEquals("blessed", blessed_instance['vm_state'])
        self.assertEquals("migration_url", migration_url)
        metadata = db.instance_metadata_get(self.context, blessed_uuid)
        self.assertEquals("file1_ref,file2_ref,file3_ref", metadata['images'])

        # note(dscannell): Although we set the blessed metadata to True in the code, we need to compare
        # it against '1'. This is because the True gets converted to a '1' when added to the database.
        self.assertEquals('1', metadata['blessed'])
        self.assertTrue(pre_bless_time <= blessed_instance['launched_at'])

        self.assertTrue(blessed_instance['disable_terminate'])