def test_detail_servers(self):
     self.stubs.Set(db, "instance_get_all_by_filters", fakes.fake_instance_get_all_by_filters())
     req = fakes.HTTPRequestV3.blank("/v3/servers/detail")
     res = req.get_response(fakes.wsgi_app_v3(init_only=("servers", "os-config-drive")))
     server_dicts = jsonutils.loads(res.body)["servers"]
     self.assertNotEqual(len(server_dicts), 0)
     for server_dict in server_dicts:
         self.assertTrue("config_drive" in server_dict)
示例#2
0
 def test_detail_servers(self):
     self.stubs.Set(db, 'instance_get_all_by_filters',
                    fakes.fake_instance_get_all_by_filters())
     req = fakes.HTTPRequest.blank(self.base_url + 'detail')
     res = req.get_response(self.app)
     server_dicts = jsonutils.loads(res.body)['servers']
     self.assertNotEqual(len(server_dicts), 0)
     for server_dict in server_dicts:
         self.assertIn('config_drive', server_dict)
示例#3
0
 def test_detail_servers(self):
     self.stubs.Set(db, 'instance_get_all_by_filters',
                    fakes.fake_instance_get_all_by_filters())
     req = fakes.HTTPRequest.blank('/v2/fake/servers/detail')
     res = req.get_response(fakes.wsgi_app(init_only=('servers,')))
     server_dicts = jsonutils.loads(res.body)['servers']
     self.assertNotEqual(len(server_dicts), 0)
     for server_dict in server_dicts:
         self.assertTrue('config_drive' in server_dict)
示例#4
0
 def test_detail_servers(self):
     self.stubs.Set(db, 'instance_get_all_by_filters',
                    fakes.fake_instance_get_all_by_filters())
     req = fakes.HTTPRequest.blank(self.base_url + 'detail')
     res = req.get_response(self.app)
     server_dicts = jsonutils.loads(res.body)['servers']
     self.assertNotEqual(len(server_dicts), 0)
     for server_dict in server_dicts:
         self.assertIn('config_drive', server_dict)
示例#5
0
 def test_detail_servers(self):
     self.stubs.Set(db, 'instance_get_all_by_filters',
                    fakes.fake_instance_get_all_by_filters())
     req = fakes.HTTPRequest.blank('/v2/fake/servers/detail')
     res = req.get_response(fakes.wsgi_app(init_only=('servers,')))
     server_dicts = jsonutils.loads(res.body)['servers']
     self.assertNotEqual(len(server_dicts), 0)
     for server_dict in server_dicts:
         self.assertIn('config_drive', server_dict)
示例#6
0
    def test_detail_servers(self):
        self.stubs.Set(db, "instance_get_all_by_filters", fakes.fake_instance_get_all_by_filters())
        req = fakes.HTTPRequest.blank("/v2/fake/servers/detail")
        res = req.get_response(fakes.wsgi_app(init_only=("servers",)))
        server_dicts = jsonutils.loads(res.body)["servers"]
        self.assertEqual(len(server_dicts), 5)

        for server_dict in server_dicts:
            self.assertIn("key_name", server_dict)
            self.assertEqual(server_dict["key_name"], "")
示例#7
0
 def setUp(self):
     super(FpingTestV21, self).setUp()
     self.flags(verbose=True, use_ipv6=False)
     return_server = fakes.fake_instance_get()
     return_servers = fakes.fake_instance_get_all_by_filters()
     self.stubs.Set(nova.db, "instance_get_all_by_filters", return_servers)
     self.stubs.Set(nova.db, "instance_get_by_uuid", return_server)
     self.stubs.Set(nova.utils, "execute", execute)
     self.stubs.Set(self.controller_cls, "check_fping", lambda self: None)
     self.controller = self.controller_cls()
示例#8
0
    def test_detail_servers(self):
        self.stubs.Set(db, 'instance_get_all_by_filters',
                       fakes.fake_instance_get_all_by_filters())
        req = fakes.HTTPRequest.blank('/v2/fake/servers/detail')
        res = req.get_response(fakes.wsgi_app(init_only=('servers', )))
        server_dicts = jsonutils.loads(res.body)['servers']
        self.assertEqual(len(server_dicts), 5)

        for server_dict in server_dicts:
            self.assertIn('key_name', server_dict)
            self.assertEqual(server_dict['key_name'], '')
示例#9
0
    def test_detail_servers(self):
        self.stubs.Set(db, 'instance_get_all_by_filters',
                       fakes.fake_instance_get_all_by_filters())
        req = fakes.HTTPRequest.blank('/v3/servers/detail')
        res = req.get_response(self.app)
        server_dicts = jsonutils.loads(res.body)['servers']
        self.assertEquals(len(server_dicts), 5)

        for server_dict in server_dicts:
            self.assertTrue('key_name' in server_dict)
            self.assertEquals(server_dict['key_name'], '')
示例#10
0
    def test_detail_servers(self):
        self.stubs.Set(db, 'instance_get_all_by_filters',
                        fakes.fake_instance_get_all_by_filters())
        req = fakes.HTTPRequest.blank(self.base_url + '/servers/detail')
        res = req.get_response(self.app_server)
        server_dicts = jsonutils.loads(res.body)['servers']
        self.assertEqual(len(server_dicts), 5)

        for server_dict in server_dicts:
            self.assertIn('key_name', server_dict)
            self.assertEqual(server_dict['key_name'], '')
示例#11
0
 def test_detail_servers(self):
     self.stubs.Set(db, 'instance_get_all_by_filters',
                    fakes.fake_instance_get_all_by_filters())
     self.stubs.Set(db, 'instance_get_by_uuid', fakes.fake_instance_get())
     req = fakes.HTTPRequestV3.blank('/v3/servers/detail')
     res = req.get_response(
         fakes.wsgi_app_v3(init_only=('servers', 'os-config-drive')))
     server_dicts = jsonutils.loads(res.body)['servers']
     self.assertNotEqual(len(server_dicts), 0)
     for server_dict in server_dicts:
         self.assertIn(config_drive.ATTRIBUTE_NAME, server_dict)
示例#12
0
    def test_detail_servers(self):
        self.stubs.Set(db, 'instance_get_all_by_filters',
                        fakes.fake_instance_get_all_by_filters())
        req = fakes.HTTPRequest.blank('/v2/fake/servers/detail')
        res = req.get_response(fakes.wsgi_app())
        server_dicts = jsonutils.loads(res.body)['servers']
        self.assertEquals(len(server_dicts), 5)

        for server_dict in server_dicts:
            self.assertTrue('key_name' in server_dict)
            self.assertEquals(server_dict['key_name'], '')
示例#13
0
 def test_detail_servers(self):
     self.stubs.Set(db, 'instance_get_all_by_filters',
                    fakes.fake_instance_get_all_by_filters())
     self.stubs.Set(db, 'instance_get_by_uuid',
                    fakes.fake_instance_get())
     req = fakes.HTTPRequestV3.blank('/v3/servers/detail')
     res = req.get_response(fakes.wsgi_app_v3(
         init_only=('servers', 'os-config-drive')))
     server_dicts = jsonutils.loads(res.body)['servers']
     self.assertNotEqual(len(server_dicts), 0)
     for server_dict in server_dicts:
         self.assertIn(config_drive.ATTRIBUTE_NAME, server_dict)
示例#14
0
 def setUp(self):
     super(FpingTest, self).setUp()
     self.flags(verbose=True, use_ipv6=False)
     return_server = fakes.fake_instance_get()
     return_servers = fakes.fake_instance_get_all_by_filters()
     self.stubs.Set(nova.db, "instance_get_all_by_filters", return_servers)
     self.stubs.Set(nova.db, "instance_get_by_uuid", return_server)
     self.stubs.Set(nova.utils, "execute", execute)
     self.stubs.Set(fping.FpingController, "check_fping", lambda self: None)
     self.ext_mgr = extensions.ExtensionManager()
     self.ext_mgr.extensions = {}
     self.controller = fping.FpingController(self.ext_mgr)
示例#15
0
 def setUp(self):
     super(FpingTestV21, self).setUp()
     self.flags(verbose=True, use_ipv6=False)
     return_server = fakes.fake_instance_get()
     return_servers = fakes.fake_instance_get_all_by_filters()
     self.stubs.Set(nova.db, "instance_get_all_by_filters",
                    return_servers)
     self.stubs.Set(nova.db, "instance_get_by_uuid",
                    return_server)
     self.stubs.Set(nova.utils, "execute",
                    execute)
     self.stubs.Set(self.controller_cls, "check_fping",
                    lambda self: None)
     self.controller = self.controller_cls()
示例#16
0
 def setUp(self):
     super(FpingTest, self).setUp()
     self.flags(verbose=True, use_ipv6=False)
     return_server = fakes.fake_instance_get()
     return_servers = fakes.fake_instance_get_all_by_filters()
     self.stubs.Set(nova.db, "instance_get_all_by_filters",
                    return_servers)
     self.stubs.Set(nova.db, "instance_get_by_uuid",
                    return_server)
     self.stubs.Set(nova.utils, "execute",
                    execute)
     self.stubs.Set(fping.FpingController, "check_fping",
                    lambda self: None)
     self.ext_mgr = extensions.ExtensionManager()
     self.ext_mgr.extensions = {}
     self.controller = fping.FpingController(self.ext_mgr)
示例#17
0
    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 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 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(rpc, 'call', rpc_call_wrapper)
        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)
示例#18
0
    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)
示例#19
0
    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 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)
        nova.tests.image.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)

        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)
示例#20
0
    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)