broken upgrade path q->r requirement for oslo.db

Bug #1793353 reported by Tobias Urdin on 2018-09-19
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Undecided
Unassigned
Ubuntu Cloud Archive
High
Unassigned
Rocky
High
Unassigned
nova (Ubuntu)
High
Unassigned
Cosmic
High
Unassigned

Bug Description

Nova is using async_ introduced in oslo.db 4.40.0 but requirements.txt says oslo.db>=4.27.0
https://github.com/openstack/oslo.db/commit/df6bf3401266f42271627c1e408f87c71a06cef7

So if you still have an old oslo.db version from queens that satisfies that requirement services will fail with below:

2018-09-19 16:56:35.965 136178 ERROR oslo_service.service Traceback (most recent call last):
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/oslo_service/service.py", line 729, in run_service
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service service.start()
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/nova/service.py", line 180, in start
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service self.manager.pre_start_hook()
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1249, in pre_start_hook
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service startup=True)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 7757, in update_available_resource
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service startup=startup)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 7788, in _get_compute_nodes_in_db
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service use_slave=use_slave)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 177, in wrapper
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service args, kwargs)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/nova/conductor/rpcapi.py", line 241, in object_class_action_versions
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service args=args, kwargs=kwargs)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py", line 179, in call
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service retry=self.retry)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/oslo_messaging/transport.py", line 133, in _send
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service retry=retry)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 584, in send
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service call_monitor_timeout, retry=retry)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 575, in _send
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service raise result
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service AttributeError: '_TransactionContextManager' object has no attribute 'async_'
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service Traceback (most recent call last):
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 126, in _object_dispatch
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service return getattr(target, method)(*args, **kwargs)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 184, in wrapper
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service result = fn(cls, context, *args, **kwargs)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/nova/objects/compute_node.py", line 437, in get_all_by_host
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service use_slave=use_slave)
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/api.py", line 205, in wrapper
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service reader_mode = get_context_manager(context).async_
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service
2018-09-19 16:56:35.965 136178 ERROR oslo_service.service AttributeError: '_TransactionContextManager' object has no attribute 'async_'

Corey Bryant (corey.bryant) wrote :

Thanks very much for reporting this Tobias. I will have a fix coming for the Ubuntu package. We use apt dist-upgrade in our upgrade tests which won't uncover this.

Changed in nova (Ubuntu Cosmic):
status: New → Triaged
importance: Undecided → High
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nova - 2:18.0.0-0ubuntu5

---------------
nova (2:18.0.0-0ubuntu5) cosmic; urgency=medium

  * d/control: Set min python-oslo.db to rocky version (4.40.0) as
    requirements.txt min version is too low (LP: #1793353).

 -- Corey Bryant <email address hidden> Thu, 20 Sep 2018 11:26:53 +0200

Changed in nova (Ubuntu Cosmic):
status: Triaged → Fix Released
Changed in cloud-archive:
status: Triaged → Fix Committed
Matt Riedemann (mriedem) wrote :

This was already fixed in nova, I need to duplicate the bug for that.

Matt Riedemann (mriedem) wrote :
Changed in nova:
status: New → Fix Released
Corey Bryant (corey.bryant) wrote :

This bug was fixed in the package nova - 2:18.0.0-0ubuntu5~cloud0
---------------

 nova (2:18.0.0-0ubuntu5~cloud0) bionic-rocky; urgency=medium
 .
   * New update for the Ubuntu Cloud Archive.
 .
 nova (2:18.0.0-0ubuntu5) cosmic; urgency=medium
 .
   * d/control: Set min python-oslo.db to rocky version (4.40.0) as
     requirements.txt min version is too low (LP: #1793353).

Changed in cloud-archive:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers