← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1420139] [NEW] VPNPluginDbTestCase unit test failed with upstream submit I16b5e5b2

 

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


Follow ups

References