コード例 #1
0
ファイル: l3agentscheduler.py プロジェクト: rchunduru/neutron
    def get_resources(cls):
        """Returns Ext Resources."""
        exts = []
        parent = dict(member_name="agent", collection_name="agents")

        controller = resource.Resource(RouterSchedulerController(),
                                       base.FAULT_MAP)
        exts.append(
            extensions.ResourceExtension(L3_ROUTERS, controller, parent))

        controller = resource.Resource(FirewallSchedulerController(),
                                       base.FAULT_MAP)
        exts.append(extensions.ResourceExtension(FIREWALLS, controller,
                                                 parent))

        parent = dict(member_name="router", collection_name="routers")

        controller = resource.Resource(L3AgentsHostingRouterController(),
                                       base.FAULT_MAP)
        exts.append(extensions.ResourceExtension(L3_AGENTS, controller,
                                                 parent))

        parent = dict(member_name="firewall", collection_name="firewalls")

        controller = resource.Resource(L3AgentsHostingFirewallController(),
                                       base.FAULT_MAP)
        exts.append(extensions.ResourceExtension(L3_AGENTS, controller,
                                                 parent))
        return exts
コード例 #2
0
 def get_resources(self):
     exts = []
     controller = resource.Resource(BNPSwitchController(),
                                    base.FAULT_MAP)
     exts.append(extensions.ResourceExtension(
         'bnp-switches', controller))
     return exts
コード例 #3
0
    def get_resources(cls):
        """Returns Ext Resources."""
        exts = []
        parent = dict(member_name="agent", collection_name="agents")

        controller = resource.Resource(BgpDrSchedulerController(),
                                       base.FAULT_MAP)
        exts.append(
            extensions.ResourceExtension(BGP_DRINSTANCES, controller, parent))

        parent = dict(member_name="bgp_speaker",
                      collection_name="bgp-speakers")
        controller = resource.Resource(BgpDrAgentController(), base.FAULT_MAP)
        exts.append(
            extensions.ResourceExtension(BGP_DRAGENTS, controller, parent))
        return exts
コード例 #4
0
 def get_resources(cls):
     """Returns Ext Resources."""
     exts = []
     parent = dict(member_name=ciscohostingdevicemanager.DEVICE,
                   collection_name=ciscohostingdevicemanager.DEVICES)
     controller = resource.Resource(
         RouterHostingDeviceSchedulerController(), base.FAULT_MAP)
     exts.append(extensions.ResourceExtension(
         DEVICE_L3_ROUTERS, controller, parent, path_prefix="/dev_mgr"))
     parent = dict(member_name="router",
                   collection_name=l3.ROUTERS)
     controller = resource.Resource(
         HostingDevicesHostingRouterController(), base.FAULT_MAP)
     exts.append(extensions.ResourceExtension(L3_ROUTER_DEVICES, controller,
                                              parent))
     return exts
コード例 #5
0
ファイル: tagging.py プロジェクト: thh/neutron
 def get_resources(cls):
     """Returns Ext Resources."""
     exts = []
     action_status = {
         'index': 200,
         'show': 204,
         'update': 201,
         'update_all': 200,
         'delete': 204,
         'delete_all': 204
     }
     controller = api_resource.Resource(TaggingController(),
                                        faults.FAULT_MAP,
                                        action_status=action_status)
     collection_methods = {"delete_all": "DELETE", "update_all": "PUT"}
     exts = []
     for collection_name, member_name in TAG_SUPPORTED_RESOURCES.items():
         if 'security_group' in collection_name:
             collection_name = collection_name.replace('_', '-')
         parent = {
             'member_name': member_name,
             'collection_name': collection_name
         }
         exts.append(
             extensions.ResourceExtension(
                 TAGS,
                 controller,
                 parent,
                 collection_methods=collection_methods))
     return exts
コード例 #6
0
    def test_mapped_neutron_error_with_xml(self):
        msg = u'\u7f51\u7edc'

        class TestException(n_exc.NeutronException):
            message = msg

        expected_res = {
            'body': {
                'NeutronError': {
                    'type': 'TestException',
                    'message': msg,
                    'detail': ''
                }
            }
        }
        controller = mock.MagicMock()
        controller.test.side_effect = TestException()

        faults = {TestException: exc.HTTPGatewayTimeout}
        resource = webtest.TestApp(
            wsgi_resource.Resource(controller, faults=faults))

        environ = {
            'wsgiorg.routing_args': (None, {
                'action': 'test',
                'format': 'xml'
            })
        }
        res = resource.get('', extra_environ=environ, expect_errors=True)
        self.assertEqual(res.status_int, exc.HTTPGatewayTimeout.code)
        self.assertEqual(wsgi.XMLDeserializer().deserialize(res.body),
                         expected_res)
コード例 #7
0
    def get_resources(cls):
        """Returns Ext Resources."""
        exts = []
        parent = dict(member_name="agent", collection_name="agents")
        controller = resource.Resource(NetworkSchedulerController(),
                                       base.FAULT_MAP)
        exts.append(extensions.ResourceExtension(DHCP_NETS, controller,
                                                 parent))

        parent = dict(member_name="network", collection_name="networks")

        controller = resource.Resource(DhcpAgentsHostingNetworkController(),
                                       base.FAULT_MAP)
        exts.append(
            extensions.ResourceExtension(DHCP_AGENTS, controller, parent))
        return exts
コード例 #8
0
    def test_unmapped_neutron_error_with_json(self):
        msg = u'\u7f51\u7edc'

        class TestException(n_exc.NeutronException):
            message = msg

        expected_res = {
            'body': {
                'NeutronError': {
                    'type': 'TestException',
                    'message': msg,
                    'detail': ''
                }
            }
        }
        controller = mock.MagicMock()
        controller.test.side_effect = TestException()

        resource = webtest.TestApp(wsgi_resource.Resource(controller))

        environ = {
            'wsgiorg.routing_args': (None, {
                'action': 'test',
                'format': 'json'
            })
        }
        res = resource.get('', extra_environ=environ, expect_errors=True)
        self.assertEqual(exc.HTTPInternalServerError.code, res.status_int)
        self.assertEqual(expected_res,
                         wsgi.JSONDeserializer().deserialize(res.body))
コード例 #9
0
 def get_resources(self):
     exts = []
     controller = resource.Resource(BNPCredentialController(),
                                    base.FAULT_MAP)
     exts.append(extensions.ResourceExtension('bnp-credentials',
                                              controller))
     return exts
コード例 #10
0
 def get_resources(cls):
     """Returns Ext Resources."""
     exts = []
     action_status = {
         'index': 200,
         'show': 204,
         'update': 201,
         'update_all': 200,
         'delete': 204,
         'delete_all': 204
     }
     controller = api_resource.Resource(TagExtController(),
                                        base.FAULT_MAP,
                                        action_status=action_status)
     collection_methods = {"delete_all": "DELETE", "update_all": "PUT"}
     exts = []
     for collection_name, member_name in TAG_SUPPORTED_RESOURCES.items():
         parent = {
             'member_name': member_name,
             'collection_name': collection_name
         }
         exts.append(
             extensions.ResourceExtension(
                 tag_base.TAGS,
                 controller,
                 parent,
                 collection_methods=collection_methods))
     return exts
コード例 #11
0
ファイル: test_api_v2_resource.py プロジェクト: zioc/neutron
    def test_mapped_neutron_error_localized(self, mock_translation):
        gettextutils.install('blaa', lazy=True)
        msg_translation = 'Translated error'
        mock_translation.return_value = msg_translation
        msg = _('Unmapped error')

        class TestException(q_exc.NeutronException):
            message = msg

        controller = mock.MagicMock()
        controller.test.side_effect = TestException()
        faults = {TestException: exc.HTTPGatewayTimeout}
        resource = webtest.TestApp(
            wsgi_resource.Resource(controller, faults=faults))

        environ = {
            'wsgiorg.routing_args': (None, {
                'action': 'test',
                'format': 'json'
            })
        }

        res = resource.get('', extra_environ=environ, expect_errors=True)
        self.assertEqual(res.status_int, exc.HTTPGatewayTimeout.code)
        self.assertIn(msg_translation,
                      str(wsgi.JSONDeserializer().deserialize(res.body)))
コード例 #12
0
ファイル: test_api_v2_resource.py プロジェクト: zioc/neutron
    def test_no_route_args(self):
        controller = mock.MagicMock()

        resource = webtest.TestApp(wsgi_resource.Resource(controller))

        environ = {}
        res = resource.get('', extra_environ=environ, expect_errors=True)
        self.assertEqual(res.status_int, exc.HTTPInternalServerError.code)
コード例 #13
0
 def get_resources(cls):
     """Returns Ext Resources."""
     exts = []
     parent = dict(member_name="agent", collection_name="agents")
     controller = resource.Resource(HostingDeviceSchedulerController(),
                                    base.FAULT_MAP)
     exts.append(
         extensions.ResourceExtension(CFG_AGENT_HOSTING_DEVICES, controller,
                                      parent))
     parent = dict(member_name=ciscohostingdevicemanager.DEVICE,
                   collection_name=ciscohostingdevicemanager.DEVICES)
     controller = resource.Resource(
         CfgAgentsHandlingHostingDeviceController(), base.FAULT_MAP)
     exts.append(
         extensions.ResourceExtension(HOSTING_DEVICE_CFG_AGENTS, controller,
                                      parent, PATH_PREFIX))
     return exts
コード例 #14
0
ファイル: test_api_v2_resource.py プロジェクト: zioc/neutron
    def test_http_error(self):
        controller = mock.MagicMock()
        controller.test.side_effect = exc.HTTPGatewayTimeout()

        resource = webtest.TestApp(wsgi_resource.Resource(controller))

        environ = {'wsgiorg.routing_args': (None, {'action': 'test'})}
        res = resource.get('', extra_environ=environ, expect_errors=True)
        self.assertEqual(res.status_int, exc.HTTPGatewayTimeout.code)
コード例 #15
0
ファイル: test_api_v2_resource.py プロジェクト: zioc/neutron
    def test_status_204(self):
        controller = mock.MagicMock()
        controller.test = lambda request: {'foo': 'bar'}

        resource = webtest.TestApp(wsgi_resource.Resource(controller))

        environ = {'wsgiorg.routing_args': (None, {'action': 'delete'})}
        res = resource.delete('', extra_environ=environ, expect_errors=True)
        self.assertEqual(res.status_int, 204)
コード例 #16
0
ファイル: base.py プロジェクト: yuhui7red/neutron
def create_resource(collection, resource, plugin, params, allow_bulk=False,
                    member_actions=None, parent=None, allow_pagination=False,
                    allow_sorting=False):
    controller = Controller(plugin, collection, resource, params, allow_bulk,
                            member_actions=member_actions, parent=parent,
                            allow_pagination=allow_pagination,
                            allow_sorting=allow_sorting)

    return wsgi_resource.Resource(controller, FAULT_MAP)
コード例 #17
0
    def get_resources(cls):
        """Returns Ext Resources."""
        exts = []
        parent = dict(member_name=agent_apidef.RESOURCE_NAME,
                      collection_name=agent_apidef.COLLECTION_NAME)
        controller = resource.Resource(NetworkSchedulerController(),
                                       faults.FAULT_MAP)
        exts.append(extensions.ResourceExtension(
            apidef.DHCP_NETS, controller, parent))

        parent = dict(member_name=net_apidef.RESOURCE_NAME,
                      collection_name=net_apidef.COLLECTION_NAME)

        controller = resource.Resource(DhcpAgentsHostingNetworkController(),
                                       faults.FAULT_MAP)
        exts.append(extensions.ResourceExtension(
            apidef.DHCP_AGENTS, controller, parent))
        return exts
コード例 #18
0
 def get_resources(cls):
     """Returns Ext Resources."""
     controller = resource.Resource(
         QuotaSetsController(manager.NeutronManager.get_plugin()),
         faults=base.FAULT_MAP)
     return [extensions.ResourceExtension(
         Quotasv2.get_alias(),
         controller,
         collection_actions={'tenant': 'GET'})]
コード例 #19
0
    def test_status_200(self):
        controller = mock.MagicMock()
        controller.test = lambda request: {'foo': 'bar'}

        resource = webtest.TestApp(wsgi_resource.Resource(controller))

        environ = {'wsgiorg.routing_args': (None, {'action': 'test'})}
        res = resource.get('', extra_environ=environ)
        self.assertEqual(200, res.status_int)
コード例 #20
0
    def test_post_with_body(self):
        controller = mock.MagicMock()
        controller.test = lambda request, body: {'foo': 'bar'}

        resource = webtest.TestApp(wsgi_resource.Resource(controller))

        environ = {'wsgiorg.routing_args': (None, {'action': 'test'})}
        res = resource.post('', params='{"key": "val"}', extra_environ=environ)
        self.assertEqual(res.status_int, 200)
コード例 #21
0
    def _make_request_with_side_effect(side_effect):
        controller = mock.MagicMock()
        controller.test.side_effect = side_effect

        resource = webtest.TestApp(wsgi_resource.Resource(controller))

        routing_args = {'action': 'test'}
        environ = {'wsgiorg.routing_args': (None, routing_args)}
        res = resource.get('', extra_environ=environ, expect_errors=True)
        return res
コード例 #22
0
 def get_resources(cls):
     """Returns Extension Resources."""
     controller = resource.Resource(
         DetailQuotaSetsController(directory.get_plugin()),
         faults=faults.FAULT_MAP)
     return [extensions.ResourceExtension(
         RESOURCE_COLLECTION,
         controller,
         member_actions={'details': 'GET'},
         collection_actions={'tenant': 'GET'})]
コード例 #23
0
 def test_action_status(self):
     controller = mock.MagicMock()
     controller.test = lambda request: {'foo': 'bar'}
     action_status = {'test_200': 200, 'test_201': 201, 'test_204': 204}
     resource = webtest.TestApp(
         wsgi_resource.Resource(controller, action_status=action_status))
     for action in action_status:
         environ = {'wsgiorg.routing_args': (None, {'action': action})}
         res = resource.get('', extra_environ=environ)
         self.assertEqual(action_status[action], res.status_int)
コード例 #24
0
 def get_resources(cls):
     """Returns Ext Resources."""
     controller = resource.Resource(
         QuotaSetsController(directory.get_plugin()),
         faults=faults.FAULT_MAP)
     return [extensions.ResourceExtension(
         Quotasv2.get_alias(),
         controller,
         member_actions={DEFAULT_QUOTAS_ACTION: 'GET'},
         collection_actions={'tenant': 'GET'})]
コード例 #25
0
ファイル: profiler.py プロジェクト: venkataanil/files
    def get_resources(cls):
        """Returns Ext Resources."""
        exts = []
        parent = dict(member_name="agent",
                      collection_name="agents")
        controller = resource.Resource(ProfilerController(),
                                       base.FAULT_MAP)
        exts.append(extensions.ResourceExtension(
            PROFILERS, controller))

        return exts
コード例 #26
0
    def get_resources(cls):
        """Returns Ext Resources."""
        exts = []
        parent = dict(member_name="agent",
                      collection_name="agents")

        controller = resource.Resource(LoadBalancerSchedulerController(),
                                       base.FAULT_MAP)
        exts.append(extensions.ResourceExtension(
            LOADBALANCERS, controller, parent))

        parent = dict(member_name="loadbalancer",
                      collection_name="loadbalancers")

        controller = resource.Resource(
            LbaasAgentHostingLoadBalancerController(), base.FAULT_MAP)
        exts.append(extensions.ResourceExtension(
            LOADBALANCER_AGENT, controller, parent,
            path_prefix=loadbalancerv2.LOADBALANCERV2_PREFIX))
        return exts
コード例 #27
0
 def get_resources(cls):
     """Returns Extension Resources."""
     controller = resource.Resource(SettingsController(
         directory.get_plugin()),
                                    faults=base.FAULT_MAP)
     collection = "%s/%s" % (Wrs_tenant.get_alias(), RESOURCE_COLLECTION)
     return [
         extensions.ResourceExtension(collection,
                                      controller,
                                      collection_actions={'tenant': 'GET'})
     ]
コード例 #28
0
    def get_resources(cls):
        """Returns Ext Resources."""
        exts = []
        parent = dict(member_name="agent",
                      collection_name="agents")

        controller = resource.Resource(PoolSchedulerController(),
                                       base.FAULT_MAP)
        exts.append(extensions.ResourceExtension(
            LOADBALANCER_POOLS, controller, parent))

        parent = dict(member_name="pool",
                      collection_name="pools")

        controller = resource.Resource(LbaasAgentHostingPoolController(),
                                       base.FAULT_MAP)
        exts.append(extensions.ResourceExtension(
            LOADBALANCER_AGENT, controller, parent,
            path_prefix=plugin_const.
            COMMON_PREFIXES[plugin_const.LOADBALANCER]))
        return exts
コード例 #29
0
ファイル: test_resource.py プロジェクト: zlzlnet/neutron
    def _test_error_log_level(self, map_webob_exc, expect_log_info=False,
                              use_fault_map=True):
        class TestException(n_exc.NeutronException):
            message = 'Test Exception'

        controller = mock.MagicMock()
        controller.test.side_effect = TestException()
        faults = {TestException: map_webob_exc} if use_fault_map else {}
        resource = webtest.TestApp(wsgi_resource.Resource(controller, faults))
        environ = {'wsgiorg.routing_args': (None, {'action': 'test'})}
        with mock.patch.object(wsgi_resource, 'LOG') as log:
            res = resource.get('', extra_environ=environ, expect_errors=True)
            self.assertEqual(res.status_int, map_webob_exc.code)
        self.assertEqual(expect_log_info, log.info.called)
        self.assertNotEqual(expect_log_info, log.exception.called)
コード例 #30
0
    def test_unhandled_error_with_xml(self):
        expected_res = {'body': {'NeutronError':
                                 _('Request Failed: internal server error '
                                   'while processing your request.')}}
        controller = mock.MagicMock()
        controller.test.side_effect = Exception()

        resource = webtest.TestApp(wsgi_resource.Resource(controller))

        environ = {'wsgiorg.routing_args': (None, {'action': 'test',
                                                   'format': 'xml'})}
        res = resource.get('', extra_environ=environ, expect_errors=True)
        self.assertEqual(res.status_int, exc.HTTPInternalServerError.code)
        self.assertEqual(wsgi.XMLDeserializer().deserialize(res.body),
                         expected_res)