當前位置: 首頁>>代碼示例>>Python>>正文


Python context.get_admin_context方法代碼示例

本文整理匯總了Python中neutron_lib.context.get_admin_context方法的典型用法代碼示例。如果您正苦於以下問題:Python context.get_admin_context方法的具體用法?Python context.get_admin_context怎麽用?Python context.get_admin_context使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在neutron_lib.context的用法示例。


在下文中一共展示了context.get_admin_context方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: setUp

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def setUp(self):
        super(SfcAgentExtensionTestCase, self).setUp()

        conn_patcher = mock.patch('neutron.agent.ovsdb.impl_idl._connection')
        conn_patcher.start()
        self.addCleanup(conn_patcher.stop)

        self.sfc_ext = sfc.SfcAgentExtension()
        self.context = context.get_admin_context()
        self.connection = mock.Mock()
        os_ken_app = mock.Mock()
        self.agent_api = ovs_ext_api.OVSAgentExtensionAPI(
            ovs_bridge.OVSAgentBridge('br-int', os_ken_app=os_ken_app),
            ovs_bridge.OVSAgentBridge('br-tun', os_ken_app=os_ken_app))
        self.sfc_ext.consume_api(self.agent_api)

        # Don't rely on used driver
        mock.patch(
            'neutron.manager.NeutronManager.load_class_for_provider',
            return_value=lambda: mock.Mock(spec=sfc.SfcAgentDriver)
        ).start()

        self.sfc_ext.initialize(
            self.connection, constants.EXTENSION_DRIVER_TYPE) 
開發者ID:openstack,項目名稱:networking-sfc,代碼行數:26,代碼來源:test_sfc.py

示例2: setUp

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def setUp(self):
        super(TestIPsecDriver, self).setUp()
        mock.patch('neutron_lib.rpc.Connection').start()

        l3_agent = mock.Mock()
        l3_agent.host = FAKE_HOST
        plugin = mock.Mock()
        plugin.get_l3_agents_hosting_routers.return_value = [l3_agent]
        directory.add_plugin(constants.CORE, plugin)
        directory.add_plugin(constants.L3, plugin)
        self.svc_plugin = mock.Mock()
        self.svc_plugin.get_l3_agents_hosting_routers.return_value = [l3_agent]
        self._fake_vpn_router_id = _uuid()
        self.svc_plugin._get_vpnservice.return_value = {
            'router_id': self._fake_vpn_router_id
        }
        self.driver = ipsec_driver.IPsecVPNDriver(self.svc_plugin)
        self.validator = ipsec_validator.IpsecVpnValidator(self.driver)
        self.context = n_ctx.get_admin_context() 
開發者ID:openstack,項目名稱:neutron-vpnaas,代碼行數:21,代碼來源:test_ipsec.py

示例3: setUp

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def setUp(self):
        super(TestVPNDriverPluginMultipleDrivers, self).setUp()
        vpnaas_providers = [
            {'service_type': p_constants.VPN,
             'name': 'ipsec',
             'driver': IPSEC_SERVICE_DRIVER,
             'default': True},
            {'service_type': p_constants.VPN,
             'name': 'dummy',
             'driver': DUMMY_IPSEC_SERVICE_DRIVER,
             'default': False}]
        self.service_providers = (
            mock.patch.object(st_db.ServiceTypeManager,
                              'get_service_providers').start())
        self.service_providers.return_value = vpnaas_providers
        self.adminContext = context.get_admin_context() 
開發者ID:openstack,項目名稱:neutron-vpnaas,代碼行數:18,代碼來源:test_plugin.py

示例4: _handle_router_interface_after_create

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def _handle_router_interface_after_create(self, **kwargs):
        gw_network = kwargs['network_id']
        if not gw_network:
            return

        ctx = context.get_admin_context()
        with ctx.session.begin(subtransactions=True):
            speakers = self._bgp_speakers_for_gateway_network(ctx,
                                                              gw_network)
            next_hops = self._next_hops_from_gateway_ips(
                                                    kwargs['gateway_ips'])

            for speaker in speakers:
                prefixes = self._tenant_prefixes_by_router(
                                                      ctx,
                                                      kwargs['router_id'],
                                                      speaker.id)
                next_hop = next_hops.get(speaker.ip_version)
                if next_hop:
                    rl = self._route_list_from_prefixes_and_next_hop(prefixes,
                                                                     next_hop)
                    self.start_route_advertisements(ctx,
                                                    self._bgp_rpc,
                                                    speaker.id,
                                                    rl) 
開發者ID:openstack,項目名稱:neutron-dynamic-routing,代碼行數:27,代碼來源:bgp_plugin.py

示例5: router_gateway_callback

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def router_gateway_callback(self, resource, event, trigger, payload=None):
        if event == events.AFTER_CREATE:
            self._handle_router_gateway_after_create(payload)
        if event == events.AFTER_DELETE:
            gw_network = payload.metadata.get('network_id')
            router_id = payload.resource_id
            next_hops = self._next_hops_from_gateway_ips(
                payload.metadata.get('gateway_ips'))
            ctx = context.get_admin_context()
            speakers = self._bgp_speakers_for_gateway_network(ctx, gw_network)
            for speaker in speakers:
                if speaker.ip_version in next_hops:
                    next_hop = next_hops[speaker.ip_version]
                    prefixes = self._tenant_prefixes_by_router(ctx,
                                                               router_id,
                                                               speaker.id)
                    routes = self._route_list_from_prefixes_and_next_hop(
                                                                     prefixes,
                                                                     next_hop)
                self._handle_router_interface_after_delete(gw_network, routes) 
開發者ID:openstack,項目名稱:neutron-dynamic-routing,代碼行數:22,代碼來源:bgp_plugin.py

示例6: _handle_router_gateway_after_create

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def _handle_router_gateway_after_create(self, payload):
        ctx = context.get_admin_context()
        gw_network = payload.metadata.get('network_id')
        router_id = payload.resource_id
        with ctx.session.begin(subtransactions=True):
            speakers = self._bgp_speakers_for_gateway_network(ctx,
                                                              gw_network)
            next_hops = self._next_hops_from_gateway_ips(
                payload.metadata.get('gateway_ips'))

            for speaker in speakers:
                if speaker.ip_version in next_hops:
                    next_hop = next_hops[speaker.ip_version]
                    prefixes = self._tenant_prefixes_by_router(ctx,
                                                               router_id,
                                                               speaker.id)
                    routes = self._route_list_from_prefixes_and_next_hop(
                                                                     prefixes,
                                                                     next_hop)
                    self.start_route_advertisements(ctx, self._bgp_rpc,
                                                    speaker.id, routes) 
開發者ID:openstack,項目名稱:neutron-dynamic-routing,代碼行數:23,代碼來源:bgp_plugin.py

示例7: monitor_agent_state

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def monitor_agent_state(self):
        """Represents L2gateway agent scheduler thread.

        Maintains list of active and inactive agents based on
        the heartbeat recorded.
        """
        context = neutron_context.get_admin_context()
        try:
            all_agents = self.plugin.get_agents(
                context,
                filters={'agent_type': [srv_const.AGENT_TYPE_L2GATEWAY]})
        except Exception:
            LOG.exception("Unable to get the agent list. Continuing...")
            return

        # Reset the agents that will be processed for selecting the
        # Monitor agent
        agents_to_process = []
        for agent in all_agents:
            if not utils.is_agent_down(agent['heartbeat_timestamp']):
                agents_to_process.append(agent)
        if agents_to_process:
            self._select_agent_type(context, agents_to_process)
        return 
開發者ID:openstack,項目名稱:networking-l2gw,代碼行數:26,代碼來源:agent_scheduler.py

示例8: test_create_l2gateway_connection_with_invalid_device

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def test_create_l2gateway_connection_with_invalid_device(self,
                                                             phy_switch):
        self.db_context = ctx.get_admin_context()
        fake_l2gw_conn_dict = {'l2_gateway_connection': {
            'id': 'fake_id', 'network_id': 'fake_network_id',
            'l2_gateway_id': 'fake_l2gw_id'}}
        fake_device = {'devices': [{'device_name': 'fake_device',
                       'interfaces': [{'name': 'fake_interface'}]}]}
        fake_physical_switch = None
        phy_switch.return_value = fake_physical_switch
        with mock.patch.object(self.service_plugin,
                               '_admin_check',
                               return_value=True), \
            mock.patch.object(self.service_plugin,
                              'get_l2_gateway',
                              return_value=fake_device), \
            mock.patch.object(self.service_plugin,
                              '_get_network',
                              return_value=True), \
            mock.patch.object(self.service_plugin,
                              '_get_l2_gateway',
                              return_value=True):
            self.assertRaises(l2gw_exc.L2GatewayDeviceNotFound,
                              self.plugin.create_l2_gateway_connection,
                              self.db_context, fake_l2gw_conn_dict) 
開發者ID:openstack,項目名稱:networking-l2gw,代碼行數:27,代碼來源:test_rpc_l2gw.py

示例9: setUp

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def setUp(self):
        super(TestAgentScheduler, self).setUp()
        cfg.CONF.set_override('core_plugin',
                              "neutron.plugins.ml2.plugin.Ml2Plugin")
        self.plugin = FakePlugin()
        self.agent_rpc = agent_api.L2gatewayAgentApi(
            l2gw_topics.L2GATEWAY_AGENT, cfg.CONF.host)
        self.context = neutron_context.get_admin_context()
        cfg.CONF.set_override('agent_down_time', 10)
        cfg.CONF.set_override('periodic_monitoring_interval', 5)
        self.agentsch = agent_scheduler.L2GatewayAgentScheduler(self.agent_rpc,
                                                                cfg.CONF)
        self.agentsch._plugin = self.plugin
        self.agentsch.context = self.context
        self.agentsch.agent_ext_support = True
        self.LOG = agent_scheduler.LOG 
開發者ID:openstack,項目名稱:networking-l2gw,代碼行數:18,代碼來源:test_agent_scheduler.py

示例10: execute_ops

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def execute_ops(self, forced=False):
        LOG.info("Starting %s periodic task.", self.task)
        context = neutron_context.get_admin_context()

        # Lock make sure that periodic task is executed only after
        # specified interval. It makes sure that maintenance tasks
        # are not executed back to back.
        if not forced and self.task_already_executed_recently(context):
            LOG.info("Periodic %s task executed after periodic interval "
                     "Skipping execution.", self.task)
            return

        if not self._lock_task(context):
            LOG.info("Periodic %s task already running task", self.task)
            return

        try:
            for phase in self.phases:
                self._execute_op(phase, context)
        finally:
            self._clear_and_unlock_task(context)

        LOG.info("%s task has been finished", self.task) 
開發者ID:openstack,項目名稱:networking-odl,代碼行數:25,代碼來源:periodic_task.py

示例11: _process_websocket_recv

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def _process_websocket_recv(self, payload, reconnect):
        # Callback for websocket notification
        LOG.debug("Websocket notification for port status update")
        for event in odl_ws_client.EventDataParser.get_item(payload):
            operation, path, data = event.get_fields()
            if ((operation in [event.OPERATION_UPDATE,
                 event.OPERATION_CREATE])):
                port_id = event.extract_field(path, "neutron:uuid")
                port_id = str(port_id).strip("'")
                status_field = data.get('status')
                if status_field is not None:
                    status = status_field.get('content')
                    LOG.debug("Update port for port id %s %s", port_id, status)
                    # for now we only support transition from DOWN->ACTIVE
                    # https://bugs.launchpad.net/networking-odl/+bug/1686023
                    if status == n_const.PORT_STATUS_ACTIVE:
                        provisioning_blocks.provisioning_complete(
                            context.get_admin_context(),
                            port_id, resources.PORT,
                            provisioning_blocks.L2_AGENT_ENTITY)
            if operation == event.OPERATION_DELETE:
                LOG.debug("PortStatus: Ignoring delete operation") 
開發者ID:openstack,項目名稱:networking-odl,代碼行數:24,代碼來源:port_status_update.py

示例12: _update_agents_db_row

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def _update_agents_db_row(self, host_config):
        if self.agents_db is None:
            self.agents_db = directory.get_plugin()

        # Update one row in agent db
        host_id = host_config['host-id']
        host_type = host_config['host-type']
        config = host_config['config']
        try:
            agentdb_row = self._AGENTDB_ROW.copy()
            agentdb_row['host'] = host_id
            agentdb_row['agent_type'] = host_type
            agentdb_row['configurations'] = jsonutils.loads(config)
            if (host_id, host_type) in self._old_agents:
                agentdb_row.pop('start_flag', None)
            self.agents_db.create_or_update_agent(
                context.get_admin_context(), agentdb_row)
            self._known_agents.add((host_id, host_type))
        except Exception:
            LOG.exception("Unable to update agentdb.") 
開發者ID:openstack,項目名稱:networking-odl,代碼行數:22,代碼來源:pseudo_agentdb_binding.py

示例13: delete_agents_db_row

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def delete_agents_db_row(self, host_id, host_type):
        """Delete agent row."""
        try:
            filters = {'agent_type': [host_type],
                       'host': [host_id]}
            # TODO(rsood): get_agent can be used here
            agent = self.agents_db.get_agents_db(
                context.get_admin_context(), filters=filters)
            if not agent:
                return

            LOG.debug("Deleting Agent with Agent id: %s", agent[0]['id'])
            self.agents_db.delete_agent(
                context.get_admin_context(), agent[0]['id'])
            self._known_agents.remove((host_id, host_type))
        except Exception:
            LOG.exception("Unable to delete from agentdb.") 
開發者ID:openstack,項目名稱:networking-odl,代碼行數:19,代碼來源:pseudo_agentdb_binding.py

示例14: test_add_router_interface_by_port_failure

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def test_add_router_interface_by_port_failure(self):
        class _MyException(Exception):
            pass

        with self.port() as port, self.router() as router:
            ctx = context.get_admin_context()
            plugin = directory.get_plugin()
            l3_plugin = directory.get_plugin(plugin_constants.L3)
            router_id = router['router']['id']
            port_id = port['port']['id']
            interface_info = {
                'port_id': port_id,
            }
            with mock.patch.object(l3_plugin.client,
                                   'add_router_interface_postcommit',
                                   auto_spec=True,
                                   side_effect=_MyException), \
                    testtools.ExpectedException(_MyException):
                l3_plugin.add_router_interface(ctx, router_id, interface_info)
            port2 = plugin.get_port(ctx, port_id)
            self.assertEqual(port_id, port2['id']) 
開發者ID:openstack,項目名稱:networking-midonet,代碼行數:23,代碼來源:test_midonet_plugin_ml2.py

示例15: router_port_callback

# 需要導入模塊: from neutron_lib import context [as 別名]
# 或者: from neutron_lib.context import get_admin_context [as 別名]
def router_port_callback(self, resource, event, trigger, **kwargs):
        if 'payload' in kwargs:
            # TODO(boden): remove shim once all events use payloads
            gw_network = kwargs['payload'].metadata.get('network_id')
        else:
            gw_network = kwargs['network_id']
        # NOTE(xiaohhui) Not all events have context in kwargs(e.g router
        # gw after create event), just get a admin context here.
        admin_ctx = n_context.get_admin_context()
        speakers = self._bgp_speakers_for_gateway_network(admin_ctx,
                                                          gw_network)

        for speaker in speakers:
            self._update_bgp_speaker_tenant_network_routes(admin_ctx,
                                                           speaker.id,
                                                           speaker.project_id) 
開發者ID:openstack,項目名稱:dragonflow,代碼行數:18,代碼來源:bgp_plugin.py


注:本文中的neutron_lib.context.get_admin_context方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。