← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1923083] Re: python 3.9 failures

 

Reviewed:  https://review.opendev.org/c/openstack/ovn-octavia-provider/+/787460
Committed: https://opendev.org/openstack/ovn-octavia-provider/commit/69b392de9c6d753262342b726c407abbb8b6b6bb
Submitter: "Zuul (22348)"
Branch:    master

commit 69b392de9c6d753262342b726c407abbb8b6b6bb
Author: Brian Haley <bhaley@xxxxxxxxxx>
Date:   Wed Apr 21 19:43:51 2021 -0400

    Fix python 3.9 unit test failures
    
    Running the python 3.9 unit tests locally results in failures
    like:
    
      TypeError: cannot pickle '_thread.RLock' object
    
    Because we are inheriting some of the neutron code, and this
    is fixed in that repository, just bump the minimum requirement
    to 18.0.0 (Wallaby) now that it is released. This does not
    happen in the gate since it is always using master.
    
    Raised minimum of other libraries as necessary.
    
    Change-Id: I820c924189d2973aefcb1452331c904f1ee7051f
    Closes-bug: #1923083


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1923083

Title:
  python 3.9 failures

Status in neutron:
  Fix Released

Bug description:
  It looks like all of the unit tests fail on the same error "TypeError:
  cannot pickle '_thread.RLock' object":

  tox -e py39
  ...
  ovn_octavia_provider.tests.unit.test_helper.TestOvnProviderHelper.test_vip_port_update_handler_lb_not_found
  -----------------------------------------------------------------------------------------------------------

  Captured traceback:
  ~~~~~~~~~~~~~~~~~~~
      Traceback (most recent call last):

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/test_helper.py", line 34, in setUp
      super().setUp()

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/base.py", line 24, in setUp
      super().setUp()

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/tests/base.py", line 397, in setUp
      policy.init()

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 77, in init
      register_rules(_ENFORCER)

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 68, in register_rules
      enforcer.register_defaults(itertools.chain(*policies))

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1120, in register_defaults
      self.register_default(default)

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1109, in register_default
      self.registered_rules[default.name] = copy.deepcopy(default)

        File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
      y = _reconstruct(x, memo, *rv)

        File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
      state = deepcopy(state, memo)

        File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
      y = copier(x, memo)

        File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
      y[deepcopy(key, memo)] = deepcopy(value, memo)

        File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
      y = _reconstruct(x, memo, *rv)

        File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
      state = deepcopy(state, memo)

        File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
      y = copier(x, memo)

        File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
      y[deepcopy(key, memo)] = deepcopy(value, memo)

        File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
      y = _reconstruct(x, memo, *rv)

        File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
      state = deepcopy(state, memo)

        File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
      y = copier(x, memo)

        File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
      y[deepcopy(key, memo)] = deepcopy(value, memo)

        File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
      y = _reconstruct(x, memo, *rv)

        File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
      state = deepcopy(state, memo)

        File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
      y = copier(x, memo)

        File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
      y[deepcopy(key, memo)] = deepcopy(value, memo)

        File "/usr/lib/python3.9/copy.py", line 161, in deepcopy
      rv = reductor(4)

      TypeError: cannot pickle '_thread.RLock' object

  ======
  Totals
  ======
  Ran: 211 tests in 3.9547 sec.
   - Passed: 111
   - Skipped: 0
   - Expected Fail: 0
   - Unexpected Success: 0
   - Failed: 100
  Sum of execute time for each test: 11.8598 sec.

  ==============
  Worker Balance
  ==============
   - Worker 0 (54 tests) => 0:00:03.251029
   - Worker 1 (50 tests) => 0:00:02.942199
   - Worker 2 (53 tests) => 0:00:03.094253
   - Worker 3 (54 tests) => 0:00:03.180170

  
  To recreate:

  lxc launch ubuntu-daily:hirsute h1
  lxc exec h1 /bin/bash
  git clone https://opendev.org/openstack/ovn-octavia-provider
  cd ovn-octavia-provider
  tox -e py39

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1923083/+subscriptions


References