Exemple #1
0
    def svc_vm_mgr(self):
        if self._svc_vm_mgr_obj is None:
            if hasattr(cfg.CONF.keystone_authtoken, 'project_domain_id'):
                self._svc_vm_mgr_obj = service_vm_lib.ServiceVMManager(
                    is_auth_v3=True,
                    keystone_session=self._keystone_auth_session())
            else:
                auth_url = cfg.CONF.keystone_authtoken.identity_uri + "/v2.0"
                u_name = cfg.CONF.keystone_authtoken.admin_user
                pw = cfg.CONF.keystone_authtoken.admin_password
                tenant = cfg.CONF.general.l3_admin_tenant

                self._svc_vm_mgr_obj = service_vm_lib.ServiceVMManager(
                    is_auth_v3=False,
                    user=u_name, passwd=pw, l3_admin_tenant=tenant,
                    auth_url=auth_url)
        return self._svc_vm_mgr_obj
Exemple #2
0
    def setUp(self, core_plugin=None, dm_plugin=None, ext_mgr=None):
        # Save the global RESOURCE_ATTRIBUTE_MAP
        self.saved_attr_map = {}
        for resource, attrs in six.iteritems(
                attributes.RESOURCE_ATTRIBUTE_MAP):
            self.saved_attr_map[resource] = attrs.copy()
        if not core_plugin:
            core_plugin = CORE_PLUGIN_KLASS
        service_plugins = {}
        cfg.CONF.set_override('api_extensions_path',
                              dev_mgr_test_support.extensions_path)
        if ext_mgr is None:
            ext_mgr = dev_mgr_test_support.TestDeviceManagerExtensionManager()

        super(HostingDeviceConfigAgentSchedulerTestCaseBase,
              self).setUp(plugin=core_plugin,
                          service_plugins=service_plugins,
                          ext_mgr=ext_mgr)

        # Ensure we use policy definitions from our repo
        cfg.CONF.set_override('policy_file', policy_path, 'oslo_policy')
        self.core_plugin = bc.get_plugin()
        self.plugin = self.core_plugin
        self.setup_notification_driver()

        if NEUTRON_VERSION.version[0] <= NEUTRON_NEWTON_VERSION.version[0]:
            cfg.CONF.set_override('allow_sorting', True)
        self._define_keystone_authtoken()

        self._mock_l3_admin_tenant()
        self._create_mgmt_nw_for_tests(self.fmt)
        # in unit tests we don't use keystone so we mock that session
        self.core_plugin._svc_vm_mgr_obj = service_vm_lib.ServiceVMManager(
            True, None, None, None, '', keystone_session=mock.MagicMock())
        self._mock_svc_vm_create_delete(self.core_plugin)
        self._mock_io_file_ops()
        if self.mock_cfg_agent_notifiers is True:
            self._mock_cfg_agent_notifier(self.plugin)
        self._other_tenant_id = dev_mgr_test_support._uuid()
        self.adminContext = n_context.get_admin_context()
    def setUp(self,
              core_plugin=None,
              l3_plugin=None,
              dm_plugin=None,
              ext_mgr=None,
              create_mgmt_nw=True,
              service_plugins=None):
        # Save the global RESOURCE_ATTRIBUTE_MAP
        self.saved_attr_map = {}
        for resource, attrs in six.iteritems(
                attributes.RESOURCE_ATTRIBUTE_MAP):
            self.saved_attr_map[resource] = attrs.copy()
        if not core_plugin:
            core_plugin = CORE_PLUGIN_KLASS
        if l3_plugin is None:
            l3_plugin = L3_PLUGIN_KLASS
        if not service_plugins:
            service_plugins = {'l3_plugin_name': l3_plugin}
        cfg.CONF.set_override('api_extensions_path',
                              l3_router_test_support.extensions_path)

        # for these tests we need to enable overlapping ips
        cfg.CONF.set_default('allow_overlapping_ips', True)
        cfg.CONF.set_default('max_routes', 3)
        if ext_mgr is None:
            ext_mgr = TestL3RouterApplianceExtensionManager()

        super(L3RouterApplianceTestCaseBase,
              self).setUp(plugin=core_plugin,
                          service_plugins=service_plugins,
                          ext_mgr=ext_mgr)

        # Ensure we use policy definitions from our repo
        cfg.CONF.set_override('policy_file', policy_path, 'oslo_policy')

        self.core_plugin = bc.get_plugin()
        self.l3_plugin = bc.get_plugin(bc.constants.L3)

        self.setup_notification_driver()

        if NEUTRON_VERSION.version[0] <= NEUTRON_NEWTON_VERSION.version[0]:
            cfg.CONF.set_override('allow_sorting', True)
        self._define_keystone_authtoken()

        cfg.CONF.register_opt(
            cfg.BoolOpt('router_auto_schedule',
                        default=True,
                        help=_('Allow auto scheduling of routers to '
                               'L3 agent.')))
        if self.router_type is not None:
            cfg.CONF.set_override('default_router_type',
                                  self.router_type,
                                  group='routing')

        self._mock_l3_admin_tenant()
        self._created_mgmt_nw = create_mgmt_nw
        if create_mgmt_nw is True:
            self._create_mgmt_nw_for_tests(self.fmt)
        if self.configure_routertypes is True:
            templates = self._test_create_hosting_device_templates()
            self._test_create_routertypes(templates.values())
        # in unit tests we don't use keystone so we mock that session
        self.core_plugin._svc_vm_mgr_obj = service_vm_lib.ServiceVMManager(
            True, None, None, None, '', keystone_session=mock.MagicMock())
        self._mock_svc_vm_create_delete(self.core_plugin)
        self._mock_io_file_ops()
        if self.mock_cfg_agent_notifiers is True:
            self._mock_cfg_agent_notifier(self.l3_plugin)
        # mock the periodic router backlog processing in the tests
        self._mock_backlog_processing(self.l3_plugin)