def setUp(self): super(ServerActionsControllerTest, self).setUp() CONF.set_override('glance_host', 'localhost') self.stubs.Set( db, 'instance_get_by_uuid', fakes.fake_instance_get(vm_state=vm_states.ACTIVE, host='fake_host')) self.stubs.Set(db, 'instance_update_and_get_original', instance_update_and_get_original) fakes.stub_out_glance(self.stubs) fakes.stub_out_nw_api(self.stubs) fakes.stub_out_rate_limiting(self.stubs) fakes.stub_out_compute_api_snapshot(self.stubs) fake.stub_out_image_service(self.stubs) service_class = 'nova.image.glance.GlanceImageService' self.service = importutils.import_object(service_class) self.sent_to_glance = {} fakes.stub_out_glanceclient_create(self.stubs, self.sent_to_glance) self.flags(allow_instance_snapshots=True, enable_instance_password=True) self.uuid = FAKE_UUID self.url = '/servers/%s/action' % self.uuid self._image_href = '155d900f-4e14-4e4c-a73d-069cbf4541e6' ext_info = plugins.LoadedExtensionInfo() self.controller = servers.ServersController(extension_info=ext_info)
def test_create_instance_decide_format_legacy(self): ext_info = plugins.LoadedExtensionInfo() CONF.set_override( 'extensions_blacklist', ['os-block-device-mapping', 'os-block-device-mapping-v1'], 'osapi_v3') controller = servers_v3.ServersController(extension_info=ext_info) bdm = [{ 'device_name': 'foo1', 'volume_id': 'fake_vol', 'delete_on_termination': 1 }] expected_legacy_flag = True old_create = compute_api.API.create def create(*args, **kwargs): legacy_bdm = kwargs.get('legacy_bdm', True) self.assertEqual(legacy_bdm, expected_legacy_flag) return old_create(*args, **kwargs) def _validate_bdm(*args, **kwargs): pass self.stubs.Set(compute_api.API, 'create', create) self.stubs.Set(compute_api.API, '_validate_bdm', _validate_bdm) self._test_create({}, override_controller=controller) params = {'block_device_mapping': bdm} self._test_create(params, override_controller=controller)
def setUp(self): super(ServerActionsControllerTest, self).setUp() CONF.set_override('host', 'localhost', group='glance') self.stubs.Set( db, 'instance_get_by_uuid', fakes.fake_instance_get(vm_state=vm_states.ACTIVE, host='fake_host')) self.stubs.Set(db, 'instance_update_and_get_original', instance_update_and_get_original) fakes.stub_out_nw_api(self.stubs) fakes.stub_out_compute_api_snapshot(self.stubs) fake.stub_out_image_service(self.stubs) self.flags(allow_instance_snapshots=True, enable_instance_password=True) self.uuid = FAKE_UUID self.url = '/servers/%s/action' % self.uuid self._image_href = '155d900f-4e14-4e4c-a73d-069cbf4541e6' ext_info = plugins.LoadedExtensionInfo() self.controller = servers.ServersController(extension_info=ext_info) self.compute_api = self.controller.compute_api self.context = context.RequestContext('fake', 'fake') self.app = fakes.wsgi_app_v21(init_only=('servers', ), fake_auth_context=self.context)
def _setup_controller(self): ext_info = plugins.LoadedExtensionInfo() self.controller = servers_v3.ServersController(extension_info=ext_info) CONF.set_override('extensions_blacklist', 'os-block-device-mapping', 'osapi_v3') self.no_bdm_v2_controller = servers_v3.ServersController( extension_info=ext_info) CONF.set_override('extensions_blacklist', '', 'osapi_v3')
def _set_up_controller(self): ext_info = plugins.LoadedExtensionInfo() self.controller = servers_v21.ServersController( extension_info=ext_info) CONF.set_override('extensions_blacklist', 'os-config-drive', 'osapi_v3') self.no_config_drive_controller = servers_v21.ServersController( extension_info=ext_info)
def setUp(self): super(ConfigDriveTest, self).setUp() ext_info = plugins.LoadedExtensionInfo() self.Controller = config_drive.ConfigDriveController( extension_info=ext_info) fakes.stub_out_networking(self.stubs) fakes.stub_out_rate_limiting(self.stubs) fake.stub_out_image_service(self.stubs)
def _set_up_controller(self): ext_info = plugins.LoadedExtensionInfo() self.controller = servers_v21.ServersController( extension_info=ext_info) CONF.set_override('extensions_blacklist', 'os-availability-zone', 'osapi_v3') self.no_availability_zone_controller = servers_v21.ServersController( extension_info=ext_info)
def test_create_instance_both_bdm_formats(self): ext_info = plugins.LoadedExtensionInfo() CONF.set_override('extensions_blacklist', '', 'osapi_v3') both_controllers = servers_v21.ServersController( extension_info=ext_info) bdm = [{'device_name': 'foo'}] bdm_v2 = [{'source_type': 'volume', 'uuid': 'fake_vol'}] params = {'block_device_mapping': bdm, 'block_device_mapping_v2': bdm_v2} self.assertRaises(exc.HTTPBadRequest, self._test_create, params, override_controller=both_controllers)
def setUp(self): super(TestServerCreateRequestXMLDeserializer, self).setUp() ext_info = plugins.LoadedExtensionInfo() controller = servers.ServersController(extension_info=ext_info) self.create_deserializer = servers.CreateDeserializer(controller) self.deserializer = servers.ActionDeserializer(controller) CONF.set_override('extensions_blacklist', 'os-disk-config', 'osapi_v3') no_disk_config_controller = servers.ServersController( extension_info=ext_info) self.create_no_disk_config_deserializer =\ servers.CreateDeserializer(no_disk_config_controller) self.no_disk_config_deserializer =\ servers.ActionDeserializer(no_disk_config_controller)
def setUp(self): super(AccessIPsExtAPIValidationTest, self).setUp() def fake_save(context, **kwargs): pass def fake_rebuild(*args, **kwargs): pass ext_info = plugins.LoadedExtensionInfo() self.controller = servers.ServersController(extension_info=ext_info) fake.stub_out_image_service(self.stubs) self.stubs.Set(db, 'instance_get_by_uuid', fakes.fake_instance_get()) self.stubs.Set(instance_obj.Instance, 'save', fake_save) self.stubs.Set(compute_api.API, 'rebuild', fake_rebuild)
def setUp(self): super(BlockDeviceMappingTest, self).setUp() ext_info = plugins.LoadedExtensionInfo() self.controller = servers.ServersController(extension_info=ext_info) CONF.set_override('extensions_blacklist', 'os-block-device-mapping', 'osapi_v3') self.no_volumes_controller = servers.ServersController( extension_info=ext_info) CONF.set_override('extensions_blacklist', '', 'osapi_v3') fake.stub_out_image_service(self.stubs) self.bdm = [{ 'no_device': None, 'source_type': 'volume', 'destination_type': 'volume', 'uuid': 'fake', 'device_name': 'vda', 'delete_on_termination': False, }]
def setUp(self): super(TestServerRebuildRequestXMLDeserializer, self).setUp() ext_info = plugins.LoadedExtensionInfo() controller = servers.ServersController(extension_info=ext_info) self.deserializer = servers.ActionDeserializer(controller) self.create_deserializer = servers.CreateDeserializer(controller)
def test_check_bad_extension(self): extension_info = plugins.LoadedExtensionInfo() self.assertFalse(extension_info._check_extension(fake_bad_extension))
def setUp(self): super(ExtensionInfoTest, self).setUp() ext_info = plugins.LoadedExtensionInfo() ext_info.extensions = fake_extensions self.controller = extension_info.ExtensionInfoController(ext_info)
def setUp(self): super(TestServerCreateRequestXMLDeserializer, self).setUp() ext_info = plugins.LoadedExtensionInfo() servers_controller = servers.ServersController(extension_info=ext_info) self.deserializer = servers.CreateDeserializer(servers_controller)
def _set_up_controller(self): ext_info = plugins.LoadedExtensionInfo() CONF.set_override('extensions_blacklist', 'os-scheduler-hints', 'osapi_v3') self.no_scheduler_hints_controller = servers_v21.ServersController( extension_info=ext_info)
def setUp(self): super(ExtensionInfoV21Test, self).setUp() ext_info = plugins.LoadedExtensionInfo() ext_info.extensions = simulated_extension_list self.controller = extension_info.ExtensionInfoController(ext_info) self.stubs.Set(policy, 'enforce', fake_policy_enforce)
def setUp(self): super(ExtensionInfoPolicyEnforcementV21, self).setUp() ext_info = plugins.LoadedExtensionInfo() ext_info.extensions = fake_extensions self.controller = extension_info.ExtensionInfoController(ext_info) self.req = fakes.HTTPRequest.blank('')
def setUp(self): super(QuotaClassesPolicyEnforcementV21, self).setUp() ext_info = plugins.LoadedExtensionInfo() self.controller = quota_classes_v21.QuotaClassSetsController( extension_info=ext_info) self.req = fakes.HTTPRequest.blank('')
def setUp(self): """Shared implementation for tests below that create instance.""" super(ServersControllerCreateTest, self).setUp() self.flags(verbose=True, enable_instance_password=True) self.instance_cache_num = 0 self.instance_cache_by_id = {} self.instance_cache_by_uuid = {} ext_info = plugins.LoadedExtensionInfo() self.controller = servers.ServersController(extension_info=ext_info) CONF.set_override('extensions_blacklist', 'os-disk-config', 'osapi_v3') self.no_disk_config_controller = servers.ServersController( extension_info=ext_info) def instance_create(context, inst): inst_type = flavors.get_flavor_by_flavor_id(3) image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' def_image_ref = 'http://localhost/v3/os-images/%s' % image_uuid self.instance_cache_num += 1 instance = { 'id': self.instance_cache_num, 'display_name': inst['display_name'] or 'test', 'uuid': MANUAL_INSTANCE_UUID, 'instance_type': dict(inst_type), 'access_ip_v4': '1.2.3.4', 'access_ip_v6': 'fead::1234', 'image_ref': inst.get('image_ref', def_image_ref), 'user_id': 'fake', 'project_id': 'fake', 'reservation_id': inst['reservation_id'], "created_at": datetime.datetime(2010, 10, 10, 12, 0, 0), "updated_at": datetime.datetime(2010, 11, 11, 11, 0, 0), "user_data": None, "progress": 0, "fixed_ips": [], "task_state": "", "vm_state": "", } self.instance_cache_by_id[instance['id']] = instance self.instance_cache_by_uuid[instance['uuid']] = instance return instance def instance_get(context, instance_id): """Stub for compute/api create() pulling in instance after scheduling """ return self.instance_cache_by_id[instance_id] def instance_update(context, uuid, values): instance = self.instance_cache_by_uuid[uuid] instance.update(values) return instance def rpc_call_wrapper(context, topic, msg, timeout=None): """Stub out the scheduler creating the instance entry.""" if (topic == CONF.scheduler_topic and msg['method'] == 'run_instance'): request_spec = msg['args']['request_spec'] num_instances = request_spec.get('num_instances', 1) instances = [] for x in xrange(num_instances): instances.append( instance_create(context, request_spec['instance_properties'])) return instances def fake_method(*args, **kwargs): pass def queue_get_for(context, *args): return 'network_topic' def return_security_group(context, instance_id, security_group_id): pass fakes.stub_out_rate_limiting(self.stubs) fakes.stub_out_key_pair_funcs(self.stubs) fake.stub_out_image_service(self.stubs) fakes.stub_out_nw_api(self.stubs) self.stubs.Set(db, 'instance_add_security_group', return_security_group) self.stubs.Set(db, 'instance_system_metadata_update', fake_method) self.stubs.Set(db, 'instance_get', instance_get) self.stubs.Set(db, 'instance_update', instance_update) self.stubs.Set(nova.openstack.common.rpc, 'cast', fake_method) self.stubs.Set(nova.openstack.common.rpc, 'call', rpc_call_wrapper) return_server = fakes.fake_instance_get() return_servers = fakes.fake_instance_get_all_by_filters() self.stubs.Set(db, 'instance_get_all_by_filters', return_servers) self.stubs.Set(db, 'instance_get_by_uuid', return_server) self.stubs.Set(db, 'instance_add_security_group', return_security_group)
def _get_controller(self): ext_info = plugins.LoadedExtensionInfo() return self.servers.ServersController(extension_info=ext_info)
def setUp(self): """Shared implementation for tests below that create instance.""" super(ServersControllerCreateTest, self).setUp() self.flags(verbose=True, enable_instance_password=True) self.instance_cache_num = 0 self.instance_cache_by_id = {} self.instance_cache_by_uuid = {} ext_info = plugins.LoadedExtensionInfo() self.controller = servers.ServersController(extension_info=ext_info) CONF.set_override('extensions_blacklist', 'os-personality', 'osapi_v3') self.no_personality_controller = servers.ServersController( extension_info=ext_info) def instance_create(context, inst): inst_type = flavors.get_flavor_by_flavor_id(3) image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' def_image_ref = 'http://localhost/images/%s' % image_uuid self.instance_cache_num += 1 instance = fake_instance.fake_db_instance( **{ 'id': self.instance_cache_num, 'display_name': inst['display_name'] or 'test', 'uuid': FAKE_UUID, 'instance_type': dict(inst_type), 'access_ip_v4': '1.2.3.4', 'access_ip_v6': 'fead::1234', 'image_ref': inst.get('image_ref', def_image_ref), 'user_id': 'fake', 'project_id': 'fake', 'reservation_id': inst['reservation_id'], "created_at": datetime.datetime(2010, 10, 10, 12, 0, 0), "updated_at": datetime.datetime(2010, 11, 11, 11, 0, 0), "config_drive": None, "progress": 0, "fixed_ips": [], "task_state": "", "vm_state": "", "security_groups": inst['security_groups'], }) self.instance_cache_by_id[instance['id']] = instance self.instance_cache_by_uuid[instance['uuid']] = instance return instance def instance_get(context, instance_id): """Stub for compute/api create() pulling in instance after scheduling """ return self.instance_cache_by_id[instance_id] def instance_update(context, uuid, values): instance = self.instance_cache_by_uuid[uuid] instance.update(values) return instance def server_update(context, instance_uuid, params): inst = self.instance_cache_by_uuid[instance_uuid] inst.update(params) return (inst, inst) def fake_method(*args, **kwargs): pass def project_get_networks(context, user_id): return dict(id='1', host='localhost') def queue_get_for(context, *args): return 'network_topic' fakes.stub_out_rate_limiting(self.stubs) fakes.stub_out_key_pair_funcs(self.stubs) fake.stub_out_image_service(self.stubs) fakes.stub_out_nw_api(self.stubs) self.stubs.Set(uuid, 'uuid4', fake_gen_uuid) self.stubs.Set(db, 'instance_add_security_group', return_security_group) self.stubs.Set(db, 'project_get_networks', project_get_networks) self.stubs.Set(db, 'instance_create', instance_create) self.stubs.Set(db, 'instance_system_metadata_update', fake_method) self.stubs.Set(db, 'instance_get', instance_get) self.stubs.Set(db, 'instance_update', instance_update) self.stubs.Set(rpc, 'cast', fake_method) self.stubs.Set(db, 'instance_update_and_get_original', server_update) self.stubs.Set(rpc, 'queue_get_for', queue_get_for) self.stubs.Set(manager.VlanManager, 'allocate_fixed_ip', fake_method) return_server = fakes.fake_instance_get() return_servers = fakes.fake_instance_get_all_by_filters() self.stubs.Set(db, 'instance_get_all_by_filters', return_servers) self.stubs.Set(db, 'instance_get_by_uuid', return_server) self.stubs.Set(db, 'instance_add_security_group', return_security_group) self.stubs.Set(db, 'instance_update_and_get_original', instance_update)
def __init__(self, init_only=None): self._loaded_extension_info = plugins.LoadedExtensionInfo() super(APIRouterV3, self).__init__(init_only)
def _set_up_controller(self): ext_info = plugins.LoadedExtensionInfo() self.controller = servers_v21.ServersController( extension_info=ext_info)
def _setup(self): ext_info = plugins.LoadedExtensionInfo() self.controller = quota_classes_v21.QuotaClassSetsController( extension_info=ext_info)