FFU: post upgrade attaching cinder volume to instance fails with: ServiceTooOld: One of cinder-volume services is too old to accept attachment_update request. Required RPC API version is 3.9. Are you running mixed versions of cinder-volumes?
Previously, the cinder service had to be restarted twice when performing an offline upgrade because of the rolling upgrade mechanism.
The double system restart can be skipped with the new optional parameter -called "--bump-versions"- added to the cinder-manage db sync command.
Tested on:
openstack-cinder-12.0.1-0.20180418194613.c476898.el7ost.noarch
Before the upgrade:
rpm -qa | grep cinder
python-cinderclient-3.1.0-1.el7ost.noarch
puppet-cinder-11.5.0-3.el7ost.noarch
python-cinder-11.1.0-1.el7ost.noarch
openstack-cinder-11.1.0-1.el7ost.noarch
mysql cinder -e "select services.binary, services.rpc_current_version, services.object_current_version from services where not deleted;"
+------------------+---------------------+------------------------+
| binary | rpc_current_version | object_current_version |
+------------------+---------------------+------------------------+
| cinder-scheduler | 3.7 | 1.27 |
| cinder-volume | 3.15 | 1.27 |
+------------------+---------------------+------------------------+
Stopped cinder services.
Replaced repo files yum update.
OSP13 version, services still stopped
python-cinder-12.0.1-0.20180418194613.c476898.el7ost.noarch
puppet-cinder-12.4.1-0.20180329071637.4011a82.el7ost.noarch
openstack-cinder-12.0.1-0.20180418194613.c476898.el7ost.noarch
python2-cinderclient-3.5.0-1.el7ost.noarch
Run the sql command again still same versions as above^ as exepcted.
# cinder-manage db sync --bump-versions
Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".
# mysql cinder -e "select services.binary, services.rpc_current_version, services.object_current_version from services where not deleted;"
+------------------+---------------------+------------------------+
| binary | rpc_current_version | object_current_version |
+------------------+---------------------+------------------------+
| cinder-scheduler | 3.10 | 1.35 |
| cinder-volume | 3.15 | 1.35 |
+------------------+---------------------+------------------------+
Gorka before I verify, just to be sure, you mentioned all the rows should update, it looks OK other than cinder-volume rpc_current_version which remains 3.15, is this OK?
cinder-scheduler | 3.7 -> 3.10 | 1.27 -> 1.35
cinder-volume 3.15 (same no change) | 1.27 -> 1.35
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHEA-2018:2086
Tested on: openstack-cinder-12.0.1-0.20180418194613.c476898.el7ost.noarch Before the upgrade: rpm -qa | grep cinder python-cinderclient-3.1.0-1.el7ost.noarch puppet-cinder-11.5.0-3.el7ost.noarch python-cinder-11.1.0-1.el7ost.noarch openstack-cinder-11.1.0-1.el7ost.noarch mysql cinder -e "select services.binary, services.rpc_current_version, services.object_current_version from services where not deleted;" +------------------+---------------------+------------------------+ | binary | rpc_current_version | object_current_version | +------------------+---------------------+------------------------+ | cinder-scheduler | 3.7 | 1.27 | | cinder-volume | 3.15 | 1.27 | +------------------+---------------------+------------------------+ Stopped cinder services. Replaced repo files yum update. OSP13 version, services still stopped python-cinder-12.0.1-0.20180418194613.c476898.el7ost.noarch puppet-cinder-12.4.1-0.20180329071637.4011a82.el7ost.noarch openstack-cinder-12.0.1-0.20180418194613.c476898.el7ost.noarch python2-cinderclient-3.5.0-1.el7ost.noarch Run the sql command again still same versions as above^ as exepcted. # cinder-manage db sync --bump-versions Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT". # mysql cinder -e "select services.binary, services.rpc_current_version, services.object_current_version from services where not deleted;" +------------------+---------------------+------------------------+ | binary | rpc_current_version | object_current_version | +------------------+---------------------+------------------------+ | cinder-scheduler | 3.10 | 1.35 | | cinder-volume | 3.15 | 1.35 | +------------------+---------------------+------------------------+ Gorka before I verify, just to be sure, you mentioned all the rows should update, it looks OK other than cinder-volume rpc_current_version which remains 3.15, is this OK? cinder-scheduler | 3.7 -> 3.10 | 1.27 -> 1.35 cinder-volume 3.15 (same no change) | 1.27 -> 1.35