Esempio n. 1
0
    def test_migrate_migrating_instance(self):
        instance_uuid = utils.create_instance(self.context, {"task_state":task_states.MIGRATING})
        # Create a service so that one can be found by the api.
        utils.create_cobalt_service(self.context)

        try:
            self.cobalt_api.migrate_instance(self.context, instance_uuid, None)
            self.fail("Should not be able to migrate a migrating instance.")
        except exception.NovaException:
            pass
Esempio n. 2
0
    def test_migrate_inactive_instance(self):
        instance_uuid = utils.create_instance(self.context, {"vm_state":vm_states.BUILDING})
        # Create a service so that one can be found by the api.
        utils.create_cobalt_service(self.context)

        try:
            self.cobalt_api.migrate_instance(self.context, instance_uuid, None)
            self.fail("Should not be able to migrate an inactive instance.")
        except exception.NovaException:
            pass
Esempio n. 3
0
    def test_migrate_instance_no_destination(self):
        instance_uuid = utils.create_instance(self.context, {"vm_state":vm_states.ACTIVE})
        # Create a service so that one can be found by the api.
        utils.create_cobalt_service(self.context)

        self.cobalt_api.migrate_instance(self.context, instance_uuid, None)

        instance_ref = db.instance_get_by_uuid(self.context, instance_uuid)
        self.assertEquals(task_states.MIGRATING, instance_ref['task_state'])
        self.assertEquals(vm_states.ACTIVE, instance_ref['vm_state'])
Esempio n. 4
0
    def test_install_policy_wait(self):
        # create five cobalt hosts
        for i in range(5):
            utils.create_cobalt_service(self.context)

        self.cobalt_api.install_policy(self.context, "", True)

        # This should result in six RPC calls (for the 5 created hosts and the
        # default test host). Since we are waiting they should all be calls.
        self.assertTrue('install_policy' in self.mock_rpc.call_log)
        self.assertEquals(6, len(self.mock_rpc.call_log['install_policy']))

        self.assertFalse('install_policy' in self.mock_rpc.cast_log)
Esempio n. 5
0
    def test_install_policy_nowait(self):
        # create five cobalt hosts
        for i in range(5):
            utils.create_cobalt_service(self.context)

        self.cobalt_api.install_policy(self.context, "", False)

        # This should result in six RPC calls (for the 5 created hosts and the
        # default test host). It should be a single call and 5 casts.
        self.assertTrue('install_policy' in self.mock_rpc.call_log)
        self.assertEquals(1, len(self.mock_rpc.call_log['install_policy']))

        self.assertTrue('install_policy' in self.mock_rpc.cast_log)
        self.assertEquals(5, len(self.mock_rpc.cast_log['install_policy']))
Esempio n. 6
0
    def test_list_cobalt_hosts(self):
        hosts = [self.cobalt_service['host']]
        for i in range(3):
            hosts.append(utils.create_cobalt_service(self.context)['host'])

        gc_hosts = self.cobalt_api._list_cobalt_hosts(self.context)
        hosts.sort()
        gc_hosts.sort()

        self.assertEquals(hosts, gc_hosts)
Esempio n. 7
0
    def test_migrate_instance_with_destination(self):
        instance_uuid = utils.create_instance(self.context, {"vm_state":vm_states.ACTIVE})
        gc_service = utils.create_cobalt_service(self.context)
        dest = gc_service['host']

        self.cobalt_api.migrate_instance(self.context, instance_uuid, dest)

        instance_ref = db.instance_get_by_uuid(self.context, instance_uuid)
        self.assertEquals(task_states.MIGRATING, instance_ref['task_state'])
        self.assertEquals(vm_states.ACTIVE, instance_ref['vm_state'])
Esempio n. 8
0
    def test_list_cobalt_hosts_availability_zone(self):

        hosts_in_zone = []
        for i in range(3):
            hosts_in_zone.append(utils.create_cobalt_service(self.context)['host'])

        az = utils.create_availability_zone(self.context, hosts_in_zone)

        gc_hosts = self.cobalt_api._list_cobalt_hosts(self.context, availability_zone=az)
        hosts_in_zone.sort()
        gc_hosts.sort()

        self.assertEquals(hosts_in_zone, gc_hosts)
Esempio n. 9
0
    def setUp(self):

        CONF.connection_type = 'fake'
        # Copy the clean database over
        shutil.copyfile(os.path.join(CONF.state_path, CONF.sqlite_clean_db),
                        os.path.join(CONF.state_path, CONF.sqlite_db))

        self.mock_rpc = utils.mock_rpc
        self.mock_rpc.reset()

        # Mock out all of the policy enforcement (the tests don't have a defined policy)
        utils.mock_policy()

        # Mock quota checking
        utils.mock_quota()

        self.cobalt_api = gc_api.API(image_service=utils.mock_image_service())
        utils.mock_scheduler_rpcapi(self.cobalt_api.scheduler_rpcapi)
        self.context = nova_context.RequestContext('fake', 'fake', True)
        self.cobalt_service = utils.create_cobalt_service(self.context)