Public bug reported: today I found the unit test case VPNPluginDbTestCase doesn't work as below error log shows.
I debug the code and find the reason, that's because the upstream submit I16b5e5b2 ( https://review.openstack.org/#/c/151375/7/neutron/services/provider_configuration.py ), it trys to read services_provider configrations items in neutron-{service}.conf file. on the other hand, VPNPluginDbTestCase still try to override service_provider, so error 'Invalid: Driver neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver is not unique across providers' is throwed. if not vpnaas_provider: vpnaas_provider = ( constants.VPN + ':vpnaas:neutron_vpnaas.services.vpn.' 'service_drivers.ipsec.IPsecVPNDriver:default') cfg.CONF.set_override('service_provider', [vpnaas_provider], 'service_providers') Traceback (most recent call last): File "/bak/openstack/neutron-vpnaas/neutron_vpnaas/tests/unit/services/vpn/test_vpnaas_driver_plugin.py", line 47, in setUp vpnaas_plugin=VPN_DRIVER_CLASS) File "/bak/openstack/neutron-vpnaas/neutron_vpnaas/tests/unit/db/vpn/test_db_vpnaas.py", line 437, in setUp service_plugins=service_plugins File "/bak/openstack/neutron-vpnaas/neutron_vpnaas/tests/base.py", line 53, in setUp plugin, service_plugins, ext_mgr) File "/bak/openstack/neutron/neutron/tests/unit/test_db_plugin.py", line 120, in setUp self.api = router.APIRouter() File "/bak/openstack/neutron/neutron/api/v2/router.py", line 74, in __init__ plugin = manager.NeutronManager.get_plugin() File "/bak/openstack/neutron/neutron/manager.py", line 222, in get_plugin return weakref.proxy(cls.get_instance().plugin) File "/bak/openstack/neutron/neutron/manager.py", line 216, in get_instance cls._create_instance() File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 431, in inner return f(*args, **kwargs) File "/bak/openstack/neutron/neutron/manager.py", line 202, in _create_instance cls._instance = cls() File "/bak/openstack/neutron/neutron/manager.py", line 128, in __init__ self._load_service_plugins() File "/bak/openstack/neutron/neutron/manager.py", line 175, in _load_service_plugins provider) File "/bak/openstack/neutron/neutron/manager.py", line 143, in _get_plugin_instance return plugin_class() File "/bak/openstack/neutron-vpnaas/neutron_vpnaas/services/vpn/plugin.py", line 44, in __init__ constants.VPN, self) File "/bak/openstack/neutron/neutron/services/service_base.py", line 64, in load_drivers service_type_manager = sdb.ServiceTypeManager.get_instance() File "/bak/openstack/neutron/neutron/db/servicetype_db.py", line 41, in get_instance cls._instance = cls() File "/bak/openstack/neutron/neutron/db/servicetype_db.py", line 45, in __init__ self._load_conf() File "/bak/openstack/neutron/neutron/db/servicetype_db.py", line 49, in _load_conf pconf.parse_service_provider_opt()) File "/bak/openstack/neutron/neutron/services/provider_configuration.py", line 139, in __init__ self.add_provider(prov) File "/bak/openstack/neutron/neutron/services/provider_configuration.py", line 160, in add_provider self._ensure_driver_unique(provider['driver']) File "/bak/openstack/neutron/neutron/services/provider_configuration.py", line 147, in _ensure_driver_unique raise n_exc.Invalid(msg) Invalid: Driver neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver is not unique across providers ** Affects: neutron Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1420139 Title: VPNPluginDbTestCase unit test failed with upstream submit I16b5e5b2 Status in OpenStack Neutron (virtual network service): New Bug description: today I found the unit test case VPNPluginDbTestCase doesn't work as below error log shows. I debug the code and find the reason, that's because the upstream submit I16b5e5b2 ( https://review.openstack.org/#/c/151375/7/neutron/services/provider_configuration.py ), it trys to read services_provider configrations items in neutron-{service}.conf file. on the other hand, VPNPluginDbTestCase still try to override service_provider, so error 'Invalid: Driver neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver is not unique across providers' is throwed. if not vpnaas_provider: vpnaas_provider = ( constants.VPN + ':vpnaas:neutron_vpnaas.services.vpn.' 'service_drivers.ipsec.IPsecVPNDriver:default') cfg.CONF.set_override('service_provider', [vpnaas_provider], 'service_providers') Traceback (most recent call last): File "/bak/openstack/neutron-vpnaas/neutron_vpnaas/tests/unit/services/vpn/test_vpnaas_driver_plugin.py", line 47, in setUp vpnaas_plugin=VPN_DRIVER_CLASS) File "/bak/openstack/neutron-vpnaas/neutron_vpnaas/tests/unit/db/vpn/test_db_vpnaas.py", line 437, in setUp service_plugins=service_plugins File "/bak/openstack/neutron-vpnaas/neutron_vpnaas/tests/base.py", line 53, in setUp plugin, service_plugins, ext_mgr) File "/bak/openstack/neutron/neutron/tests/unit/test_db_plugin.py", line 120, in setUp self.api = router.APIRouter() File "/bak/openstack/neutron/neutron/api/v2/router.py", line 74, in __init__ plugin = manager.NeutronManager.get_plugin() File "/bak/openstack/neutron/neutron/manager.py", line 222, in get_plugin return weakref.proxy(cls.get_instance().plugin) File "/bak/openstack/neutron/neutron/manager.py", line 216, in get_instance cls._create_instance() File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 431, in inner return f(*args, **kwargs) File "/bak/openstack/neutron/neutron/manager.py", line 202, in _create_instance cls._instance = cls() File "/bak/openstack/neutron/neutron/manager.py", line 128, in __init__ self._load_service_plugins() File "/bak/openstack/neutron/neutron/manager.py", line 175, in _load_service_plugins provider) File "/bak/openstack/neutron/neutron/manager.py", line 143, in _get_plugin_instance return plugin_class() File "/bak/openstack/neutron-vpnaas/neutron_vpnaas/services/vpn/plugin.py", line 44, in __init__ constants.VPN, self) File "/bak/openstack/neutron/neutron/services/service_base.py", line 64, in load_drivers service_type_manager = sdb.ServiceTypeManager.get_instance() File "/bak/openstack/neutron/neutron/db/servicetype_db.py", line 41, in get_instance cls._instance = cls() File "/bak/openstack/neutron/neutron/db/servicetype_db.py", line 45, in __init__ self._load_conf() File "/bak/openstack/neutron/neutron/db/servicetype_db.py", line 49, in _load_conf pconf.parse_service_provider_opt()) File "/bak/openstack/neutron/neutron/services/provider_configuration.py", line 139, in __init__ self.add_provider(prov) File "/bak/openstack/neutron/neutron/services/provider_configuration.py", line 160, in add_provider self._ensure_driver_unique(provider['driver']) File "/bak/openstack/neutron/neutron/services/provider_configuration.py", line 147, in _ensure_driver_unique raise n_exc.Invalid(msg) Invalid: Driver neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver is not unique across providers To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1420139/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp