Newton > Ocata upgrade. secret_uuid empty
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| OpenStack Compute (nova) |
High
|
Matt Riedemann | ||
| Ocata |
High
|
Matt Riedemann |
Bug Description
Hello,
I've bumped into issue with Nova:
After upgrading Neutron to Ocata via openstack-ansible, I was unable to start any of the servers.
openstack server list |grep a6200dff-
| a6200dff-
openstack server start a6200dff-
openstack server list |grep a6200dff-
| a6200dff-
Server is still in SHUTOFF state.
nova.log contains the flowing entries:
http://
After digging more into problem, I've found, that https:/
This made me read _set_auth_
After reconfiguration, I've managed to create and start new machines, but machines, which were created in Newton sill failed. After some more debugging it came to me, that old machines still had no 'secret_uuid' in their connection_info dictionary:
{u'driver_
It seems, that Ocata requires secret_uuid to be provided in database. Machines form Newton release did not contain that entry:
Newton :
| {"driver_
Ocata:
| {"driver_
So, is there any way to refresh database to fix this, or should I refresh block_device_
I'm not sure if this is a bug, perhaps there is need to put some warning about this in upgrade documentation?
Thank you.
summary: |
- Newton > Ocata upgrace. secret_uuid empty + Newton > Ocata upgrade. secret_uuid empty |
Tadas Ustinavičius (tadas-u) wrote : | #1 |
Changed in nova: | |
importance: | Undecided → High |
tags: | added: ceph |
Matt Riedemann (mriedem) wrote : | #2 |
Likely caused by this change in Ocata: https:/
Changed in nova: | |
status: | New → Triaged |
Fix proposed to branch: master
Review: https:/
Changed in nova: | |
assignee: | nobody → Matt Riedemann (mriedem) |
status: | Triaged → In Progress |
Changed in nova: | |
milestone: | none → pike-3 |
Fix proposed to branch: stable/ocata
Review: https:/
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: master
commit f2d27f6a8afb628
Author: Matt Riedemann <email address hidden>
Date: Thu Jun 8 09:35:42 2017 -0400
libvirt: handle missing rbd_secret_uuid from old connection info
Change Idcbada705c1d38
started preferring Cinder connection info for getting RBD auth
values since Nova needs to be using the same settings as Cinder
for volume auth.
However, that introduced a problem for guest connections made
before that change, where the secret_uuid might not have been
configured on the Cinder side and that's what is stored in the
block_
checking in _set_auth_
problem because we'd use the Nova configuration values for the
rbd_secret_uuid if set. But since Ocata it is a problem since
we don't consult nova.conf if auth was enabled, but not completely
configured, on the Cinder side.
So this adds a fallback check to set the secret_uuid from
nova.conf if it wasn't set in the connection_info via Cinder
originally. A note is also added to caution about removing
any fallback mechanism on the nova side - something we'd
need to consider before we could likely drop this code.
Co-Authored-By: Tadas Ustinavičius <email address hidden>
Change-Id: I6fc7108817fcd9
Closes-Bug: #1687581
Changed in nova: | |
status: | In Progress → Fix Released |
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: stable/ocata
commit fb4184f1e690901
Author: Matt Riedemann <email address hidden>
Date: Thu Jun 8 09:35:42 2017 -0400
libvirt: handle missing rbd_secret_uuid from old connection info
Change Idcbada705c1d38
started preferring Cinder connection info for getting RBD auth
values since Nova needs to be using the same settings as Cinder
for volume auth.
However, that introduced a problem for guest connections made
before that change, where the secret_uuid might not have been
configured on the Cinder side and that's what is stored in the
block_
checking in _set_auth_
problem because we'd use the Nova configuration values for the
rbd_secret_uuid if set. But since Ocata it is a problem since
we don't consult nova.conf if auth was enabled, but not completely
configured, on the Cinder side.
So this adds a fallback check to set the secret_uuid from
nova.conf if it wasn't set in the connection_info via Cinder
originally. A note is also added to caution about removing
any fallback mechanism on the nova side - something we'd
need to consider before we could likely drop this code.
Co-Authored-By: Tadas Ustinavičius <email address hidden>
NOTE(mriedem): The unit test is modified slightly to not
pass an instance to the disconnect_volume method as that
was only available starting in Pike: b66b7d4f9d
Change-Id: I6fc7108817fcd9
Closes-Bug: #1687581
(cherry picked from commit f2d27f6a8afb628
This issue was fixed in the openstack/nova 15.0.6 release.
This issue was fixed in the openstack/nova 16.0.0.0b3 development milestone.
The following patch should fix this issue:
http:// paste.ubuntu. com/24497744/