VPNPluginDbTestCase unit test failed with upstream submit I16b5e5b2

Bug #1420139 reported by Hua Zhang
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Invalid
Undecided
Hua Zhang

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/154375

Changed in neutron:
assignee: nobody → Hua Zhang (zhhuabj)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by Zhang Hua (<email address hidden>) on branch: master
Review: https://review.openstack.org/154375
Reason: seems the patch https://review.openstack.org/#/c/151541 removed that duplication check(svc_providers_opt = list(set(svc_providers_opt)) ), as now the config is only in neutron_vpnaas.conf and not in neutron.conf.

Changed in neutron:
status: In Progress → Incomplete
Revision history for this message
Paul Michali (pcm) wrote :

Problem with driver loading in new repo was resolved, so this is no longer a failure. Marked as invalid.

Changed in neutron:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.