Neutron-LBaaS v2: Python 3.4 gate fails on check orphan pool associations

Bug #1578771 reported by Franklin Naval
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
Brandon Logan

Bug Description

It appears that a python 3 unit test is failing in:

neutron_lbaas.tests.unit.db.loadbalancer.test_db_loadbalancer.TestLoadBalancer
test_check_orphan_pool_associations

from: https://review.openstack.org/#/c/164828/

see: http://logs.openstack.org/28/164828/52/check/gate-neutron-lbaas-python34/0198012/testr_results.html.gz

stack trace:
ft10.4: neutron_lbaas.tests.unit.db.loadbalancer.test_db_loadbalancer.TestLoadBalancer.test_check_orphan_pool_associations_StringException: Empty attachments:
  stdout

pythonlogging:'': {{{
WARNING [neutron.api.extensions] Extension address-scope not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension agent not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension allowed-address-pairs not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension auto-allocated-topology not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension availability_zone not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension default-subnetpools not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension dhcp_agent_scheduler not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension dns-integration not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension dvr not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension external-net not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension extra_dhcp_opt not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension extraroute not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension flavors not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension router not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension ext-gw-mode not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension l3-ha not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension l3_agent_scheduler not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension metering not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension multi-provider not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension net-mtu not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension network_availability_zone not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension network-ip-availability not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension binding not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension port-security not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension provider not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension qos not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension quotas not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension router_availability_zone not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension router-service-type not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension security-group not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension service-type not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension subnet_allocation not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension tag not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension timestamp_core not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension vlan-transparent not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension l7 not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension lbaas_agent_schedulerv2 not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension lbaasv2 not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension shared_pools not supported by any of loaded plugins
   ERROR [neutron.api.extensions] Extension path 'neutron/tests/unit/extensions' doesn't exist!
 WARNING [neutron.api.extensions] Extension l7 not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension lbaas_agent_schedulerv2 not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension lbaasv2 not supported by any of loaded plugins
 WARNING [neutron.api.extensions] Extension shared_pools not supported by any of loaded plugins
}}}

stderr: {{{
/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/oslo_db/sqlalchemy/enginefacade.py:1056: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade
  expire_on_commit=expire_on_commit, _conf=conf)
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/extensions/l7.py:99: DeprecationWarning: ATTR_NOT_SPECIFIED in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.constants
  'default': attr.ATTR_NOT_SPECIFIED,
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/extensions/loadbalancer.py:104: DeprecationWarning: validators in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.api.validators
  loadbalancerv2._validate_connection_limit)
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/extensions/loadbalancer.py:128: DeprecationWarning: ATTR_NOT_SPECIFIED in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.constants
  'default': attr.ATTR_NOT_SPECIFIED,
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/extensions/loadbalancer.py:198: DeprecationWarning: ATTR_NOT_SPECIFIED in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.constants
  'is_visible': True, 'default': attr.ATTR_NOT_SPECIFIED},
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/extensions/loadbalancerv2.py:142: DeprecationWarning: validators in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.api.validators
  attr.validators['type:connection_limit'] = _validate_connection_limit
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/extensions/loadbalancerv2.py:167: DeprecationWarning: ATTR_NOT_SPECIFIED in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.constants
  'default': attr.ATTR_NOT_SPECIFIED,
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/extensions/loadbalancerv2.py:174: DeprecationWarning: ATTR_NOT_SPECIFIED in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.constants
  'is_visible': True, 'default': attr.ATTR_NOT_SPECIFIED},
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/extensions/loadbalancerv2.py:188: DeprecationWarning: ATTR_NOT_SPECIFIED in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.constants
  'default': attr.ATTR_NOT_SPECIFIED}
/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/paste/deploy/loadwsgi.py:22: DeprecationWarning: Parameters to load are deprecated. Call .resolve and .require separately.
  return pkg_resources.EntryPoint.parse("x=" + s).load(False)
/tmp/openstack/neutron/neutron/api/v2/attributes.py:428: DeprecationWarning: Function 'neutron.api.v2.attributes.convert_to_boolean()' has moved to 'neutron_lib.api.converters.convert_to_boolean()' in version 'mitaka' and will be removed in version 'ocata': moved to neutron_lib
  res_dict[attr] = attr_vals['convert_to'](res_dict[attr])
/tmp/openstack/neutron/neutron/api/v2/attributes.py:428: DeprecationWarning: Function 'neutron.api.v2.attributes.convert_to_list()' has moved to 'neutron_lib.api.converters.convert_to_list()' in version 'mitaka' and will be removed in version 'ocata': moved to neutron_lib
  res_dict[attr] = attr_vals['convert_to'](res_dict[attr])
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/services/loadbalancer/plugin.py:189: DeprecationWarning: ATTR_NOT_SPECIFIED in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.constants
  if pool['pool']['lb_method'] == attrs.ATTR_NOT_SPECIFIED:
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/services/loadbalancer/plugin.py:192: DeprecationWarning: ATTR_NOT_SPECIFIED in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.constants
  if pool['pool']['subnet_id'] == attrs.ATTR_NOT_SPECIFIED:
/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/services/loadbalancer/plugin.py:175: DeprecationWarning: ATTR_NOT_SPECIFIED in version 'mitaka' and will be removed in version 'newton': moved to neutron_lib.constants
  pool['provider'] != attrs.ATTR_NOT_SPECIFIED):
/tmp/openstack/neutron/neutron/api/v2/attributes.py:428: DeprecationWarning: Function 'neutron.api.v2.attributes.convert_to_boolean()' has moved to 'neutron_lib.api.converters.convert_to_boolean()' in version 'mitaka' and will be removed in version 'ocata': moved to neutron_lib
  res_dict[attr] = attr_vals['convert_to'](res_dict[attr])
/tmp/openstack/neutron/neutron/api/v2/attributes.py:428: DeprecationWarning: Function 'neutron.api.v2.attributes.convert_to_list()' has moved to 'neutron_lib.api.converters.convert_to_list()' in version 'mitaka' and will be removed in version 'ocata': moved to neutron_lib
  res_dict[attr] = attr_vals['convert_to'](res_dict[attr])
}}}

Traceback (most recent call last):
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/tests/unit/db/loadbalancer/test_db_loadbalancer.py", line 1650, in test_check_orphan_pool_associations
    loadbalancer_plugin.LoadBalancerPlugin
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py", line 480, in assertRaises
    self.assertThat(our_callable, matcher)
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py", line 491, in assertThat
    mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py", line 542, in _matchHelper
    mismatch = matcher.match(matchee)
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/testtools/matchers/_exception.py", line 108, in match
    mismatch = self.exception_matcher.match(exc_info)
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/testtools/matchers/_higherorder.py", line 62, in match
    mismatch = matcher.match(matchee)
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py", line 470, in match
    reraise(*matchee)
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/testtools/_compat3x.py", line 16, in reraise
    raise exc_obj.with_traceback(exc_tb)
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/testtools/matchers/_exception.py", line 101, in match
    result = matchee()
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/testtools/testcase.py", line 1044, in __call__
    return self._callable_object(*self._args, **self._kwargs)
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/services/loadbalancer/plugin.py", line 93, in __init__
    self._load_drivers()
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/services/loadbalancer/plugin.py", line 107, in _load_drivers
    self._check_orphan_pool_associations(ctx, self.drivers.keys())
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/neutron_lbaas/services/loadbalancer/plugin.py", line 123, in _check_orphan_pool_associations
    list(lost_providers))
  File "/usr/lib/python3.4/logging/__init__.py", line 1620, in exception
    self.log(ERROR, msg, *args, **kwargs)
  File "/usr/lib/python3.4/logging/__init__.py", line 1635, in log
    self.logger._log(level, msg, args, **kwargs)
  File "/usr/lib/python3.4/logging/__init__.py", line 1409, in _log
    self.handle(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 1419, in handle
    self.callHandlers(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 1481, in callHandlers
    hdlr.handle(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 853, in handle
    self.emit(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 984, in emit
    self.handleError(record)
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/fixtures/_fixtures/logger.py", line 69, in handleError
    six.reraise(*sys.exc_info())
  File "/home/jenkins/workspace/gate-neutron-lbaas-python34/.tox/py34/lib/python3.4/site-packages/six.py", line 686, in reraise
    raise value
  File "/usr/lib/python3.4/logging/__init__.py", line 978, in emit
    msg = self.format(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 828, in format
    return fmt.format(record)
  File "/usr/lib/python3.4/logging/__init__.py", line 573, in format
    record.exc_text = self.formatException(record.exc_info)
  File "/usr/lib/python3.4/logging/__init__.py", line 523, in formatException
    traceback.print_exception(ei[0], ei[1], tb, None, sio)
  File "/usr/lib/python3.4/traceback.py", line 169, in print_exception
    for line in _format_exception_iter(etype, value, tb, limit, chain):
  File "/usr/lib/python3.4/traceback.py", line 146, in _format_exception_iter
    for value, tb in values:
  File "/usr/lib/python3.4/traceback.py", line 125, in _iter_chain
    context = exc.__context__
AttributeError: 'NoneType' object has no attribute '__context__'

Tags: lbaasv2
description: updated
Revision history for this message
Ryan Moats (rmoats) wrote :

Brandon, I'm thinking this is fairly straightforward to fix... but can you take a look and verify?

Changed in neutron:
assignee: nobody → Brandon Logan (brandon-logan)
Revision history for this message
Brandon Logan (brandon-logan) wrote :

Ryan, Ill take a look

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

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

Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron-lbaas (master)

Reviewed: https://review.openstack.org/313787
Committed: https://git.openstack.org/cgit/openstack/neutron-lbaas/commit/?id=75293386e6e9c6cb041774aa4f1325daae5b2959
Submitter: Jenkins
Branch: master

commit 75293386e6e9c6cb041774aa4f1325daae5b2959
Author: Brandon Logan <email address hidden>
Date: Fri May 6 17:51:00 2016 -0500

    LBaaS V1 Log error instead of exception

    A test was failing because the check for pool orphans was doing a
    LOG.exception when there was no exception ever thrown during a unit
    test, so the LOG.exception call was failing. It doesn't make sense
    for this piece of code to LOG.exception because there is no
    exception being thrown, its throwing its own exception.

    Change-Id: I21c12b639d05076f6c89e5c023a60526e81db5b7
    Closes-Bug: #1578771

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/neutron-lbaas 9.0.0.0b1

This issue was fixed in the openstack/neutron-lbaas 9.0.0.0b1 development milestone.

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.