[Bug 2007919] Re: [SRU] Stable point releases for python-ovsdbapp
Corey Bryant
2007919 at bugs.launchpad.net
Thu Sep 14 13:11:19 UTC 2023
Thanks for the review Robie. I appreciate your thorough reviews and
keeping Ubuntu stable!
(Note: The following reply is taken from my reply to a related thread:
https://lists.ubuntu.com/archives/ubuntu-
release/2023-September/005765.html)
For the behavioral change [1], I think there is minimal regression potential as the change is limited to an exception path where sleeps and reconnects were determined to be unnecessary. I'd have appreciated it if they would have provided a bug reference for the commit to provide more context, however with that said, it seems they are making a code improvement here for performance reasons and they found it to be useful enough to backport to stable branches.
[1] https://opendev.org/openstack/ovsdbapp/commit/ab3e0cb0d0865417efbf103f44954573a5ba92ac
It is certainly not ideal to have missing unit tests. It's important to
consider that we perform testing above and beyond the unit tests that
are run as part of our package builds. The regression testing that we
have in place for OpenStack is run for all stable releases. For that we
deploy a full OpenStack cloud and then run tempest integration tests
that exercise all of the packages and the cloud solution as a whole.
I think we have a solid history of limiting regression potential for
OpenStack users in our stable releases and that remains very important
to us.
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to python-ovsdbapp in Ubuntu.
https://bugs.launchpad.net/bugs/2007919
Title:
[SRU] Stable point releases for python-ovsdbapp
Status in OpenStack Neutron API Charm:
Invalid
Status in Ubuntu Cloud Archive:
Invalid
Status in Ubuntu Cloud Archive wallaby series:
Fix Committed
Status in Ubuntu Cloud Archive xena series:
Fix Committed
Status in Ubuntu Cloud Archive yoga series:
Triaged
Status in Ubuntu Cloud Archive zed series:
Fix Committed
Status in python-ovsdbapp package in Ubuntu:
Invalid
Status in python-ovsdbapp source package in Jammy:
New
Bug description:
[Impact]
This release sports mostly bug-fixes and we would like to make
sure all of our supported customers have access to these
improvements. The update contains the following package updates:
python-ovsdbapp 2.1.1 (zed)
python-ovsdbapp 1.15.3 (jammy/yoga)
python-ovsdbapp 1.12.3 (xena)
python-ovsdbapp 1.9.4 (wallaby)
Delta between 2.1.0 and 2.1.1 (zed):
- [97e738d] Fix TRY_AGAIN handling
- [bbdc14a] Don't force_reconnect() on unhandled Idl exception
- [c9e9473] Fix logging exception while handling transaction exception
- [d90358c] Update TOX_CONSTRAINTS_FILE for stable/zed
- [b58a340] Update .gitreview for stable/zed
Delta between 1.15.1 and 1.15.3 (jammy/yoga):
- [ab3e0cb] Don't force_reconnect() on unhandled Idl exception
- [92cbba4] Fix logging exception while handling transaction exception
- [315c809] Fix TRY_AGAIN handling
- [a69430a] Handle OVS 2.17 change to Idl.tables
- [de473ce] Fix broken behavior after recent OVS update
- [10539ed] github no longer accepts git:// connections
- [7735d5c] Update TOX_CONSTRAINTS_FILE for stable/yoga
- [253afd4] Update .gitreview for stable/yoga
Delta between 1.12.0 and 1.12.3 (xena):
- [8202d53] Don't force_reconnect() on unhandled Idl exception
- [1b04058] Fix logging exception while handling transaction exception
- [fc62ae2] Fix TRY_AGAIN handling
- [4d4402c] Update QoS register in "QoSAddCommand" if exists
- [62ee947] Add cooperative_yield() to OvsdbIdl
- [ab571f4] Handle OVS 2.17 change to Idl.tables
- [a7a1d5c] Fix broken behavior after recent OVS update
- [a73fbf1] github no longer accepts git:// connections
- [3a0cd11] Log what exception caused abort of the transaction
- [8c09568] Update TOX_CONSTRAINTS_FILE for stable/xena
- [19a4364] Update .gitreview for stable/xena
- [49ab130] tools: run functional tests against ovn/main branch
Delta between 1.9.0 and 1.9.4 (wallaby):
- [65d02f0] Don't force_reconnect() on unhandled Idl exception
- [87dcab2] Fix logging exception while handling transaction exception
- [dd7e332] Fix TRY_AGAIN handling
- [f804411] Update QoS register in "QoSAddCommand" if exists
- [e1a0d7c] Add cooperative_yield() to OvsdbIdl
- [c6e2c43] Handle OVS 2.17 change to Idl.tables
- [9990509] Fix broken behavior after recent OVS update
- [fb5feee] github no longer accepts git:// connections
- [fa4a747] Log what exception caused abort of the transaction
- [eaa6406] tools: run functional tests against ovn/main branch
- [8304251] Actually close the connection in Connection.stop()
- [66918f9] Don't spam retries 100s of times a second
- [d0cc492] Add an active wait in the "Backend.lookup"
- [007c0f6] Fix docs job
- [f6a19a3] Update TOX_CONSTRAINTS_FILE for stable/wallaby
- [875be60] Update .gitreview for stable/wallaby
[Test Case]
The microrelease testing documentation at
https://wiki.ubuntu.com/StableReleaseUpdates requests 4 points of
testing, shown below, along with my comments on the coverage that we
currently have in place:
* a reliable and credible test suite for assuring the quality of every
commit or release,
coreycb: Upstream has unit tests and they are run during the package
build.
* the tests are covering both functionality and API/ABI stability,
coreycb: This would be covered by unit tests as well as our planned
functional testing described at [1].
* the tests run during package build to cover all architectures,
coreycb: Unit tests are run during package builds. Since this is a
pure python package it is only built on amd64.
* the package has an autopkgtest to run the tests in an Ubuntu
environment against the actual binary packages"
coreycb: The autopkgtests only test python imports. Since the
regression testing described in [1] will be exercising the actual
binary package functionality, I would like to see if we can get
approval based on that being an adequate alternative.
[1]
The following SRU process was followed:
https://wiki.ubuntu.com/OpenStackUpdates
In order to avoid regression of existing consumers, the OpenStack team
will run their continuous integration test against the packages that
are in -proposed. A successful run of all available tests will be
required before the proposed packages can be let into -updates.
The OpenStack team will be in charge of attaching the output summary
of the executed tests. The OpenStack team members will not mark
‘verification-done’ until this has happened.
[Regression Potential]
In order to mitigate the regression potential, the results of the
aforementioned tests are attached to this bug.
[Discussion]
I would like to provide these new stable releases via microrelease SRU updates: https://wiki.ubuntu.com/StableReleaseUpdates#New_upstream_microreleases
The recommended releases that upstream tests with are listed at:
https://github.com/openstack/requirements/blob/stable/yoga/upper-constraints.txt
https://github.com/openstack/requirements/blob/stable/xena/upper-constraints.txt
https://github.com/openstack/requirements/blob/stable/wallaby/upper-constraints.txt
[Original Bug Description]
Subject: ovsdbapp: AttributeError: 'TableSchema' object has no
attribute 'condition_state'
After upgrade from victoria to wallaby neutron-api units firing
errors. Exception is related to
https://bugs.launchpad.net/ovsdbapp/+bug/1972989, which is fixed in
ovsdbapp 1.9.3
https://releases.openstack.org/wallaby/ states that ovsdbapp should be
1.9.4 (latest for walalby)
Installed in the unit is:
root at juju-4c2163-3-lxd-14:~# python3 -m pip list | grep ovsdbapp
ovsdbapp 1.9.0
Also:
root at juju-4c2163-3-lxd-14:~# apt-cache policy python3-ovsdbapp
python3-ovsdbapp:
Installed: 1.9.0-0ubuntu1~cloud0
Candidate: 1.9.0-0ubuntu1~cloud0
Version table:
*** 1.9.0-0ubuntu1~cloud0 500
500 http://ubuntu-cloud.archive.canonical.com/ubuntu focal-updates/wallaby/main amd64 Packages
100 /var/lib/dpkg/status
1.1.0-0ubuntu2 500
500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
1.1.0-0ubuntu1 500
500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
So it looks like the charm doesn't upgrade ovsdbapp during openstack
upgrade, because a newer version with the above fix doesn't exist in
the UCA:
python3-ovsdbapp | 1.9.0-0ubuntu1~cloud0 | wallaby | focal-updates | all
python3-ovsdbapp | 1.9.0-0ubuntu1~cloud0 | wallaby-proposed | focal-proposed | all
Full traceback:
2023-02-21 07:39:19.639 431391 ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.impl_idl_ovn File "/usr/lib/python3/dist-packages/ovsdbapp/backend/ovs_idl/connection.py", line 81, in start
2023-02-21 07:39:19.639 431391 ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.impl_idl_ovn idlutils.wait_for_change(self.idl, self.timeout)
2023-02-21 07:39:19.639 431391 ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.impl_idl_ovn File "/usr/lib/python3/dist-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py", line 52, in wait_for_change
2023-02-21 07:39:19.639 431391 ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.impl_idl_ovn while idl_.change_seqno == seqno and not idl_.run():
2023-02-21 07:39:19.639 431391 ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.impl_idl_ovn File "/usr/lib/python3/dist-packages/ovs/db/idl.py", line 541, in run
2023-02-21 07:39:19.639 431391 ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.impl_idl_ovn self.__send_monitor_request()
2023-02-21 07:39:19.639 431391 ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.impl_idl_ovn File "/usr/lib/python3/dist-packages/ovs/db/idl.py", line 850, in __send_monitor_request
2023-02-21 07:39:19.639 431391 ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.impl_idl_ovn not ConditionState.is_true(table.condition_state.acked)):
2023-02-21 07:39:19.639 431391 ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.impl_idl_ovn AttributeError: 'TableSchema' object has no attribute 'condition_state'
Worked around by:
juju run -a neutron-api 'sudo python3 -m pip install ovsdbapp==1.9.4'
juju run -a neutron-api 'sudo service neutron-* restart'
To manage notifications about this bug go to:
https://bugs.launchpad.net/charm-neutron-api/+bug/2007919/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list