boot from volume fails when upgrading using cinder v1 API

Bug #1354499 reported by Dan Prince
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Critical
Dan Prince

Bug Description

In c5402ef4fc509047d513a715a1c14e9b4ba9674f we added support for the new cinder V2 API.

When a user who was previously using the Cinder v1 API (which would have been required) updates to the new code the immediate defaults cause the cinder v2 API to be chosen. This is because we now default cinder_catalog_info to 'volumev2:cinder:publicURL'. So if a user was using the previous default value of 'volumev2:cinder:publicURL' their configuration would now be broken.

Given the new deprecation code hasn't been released yet I think we need to wait at least one release before we can make this change to our cinder_catalog_info default value.

Dan Prince (dan-prince)
Changed in nova:
assignee: nobody → Dan Prince (dan-prince)
importance: Undecided → Critical
status: New → In Progress
Revision history for this message
Dan Prince (dan-prince) wrote :

This is the exception you'll see if your Keystone endpoint still uses the Cinder V1 api and you upgrade to the latest nova code:

Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] bdm.attach(*attach_args, **attach_kwargs)
Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] File "/opt/stack/venvs/nova/lib/python2.7/site-packages/nova/virt/block_device.py", line 316, in attach
Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] '', '', image_id=self.image_id)
Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] File "/opt/stack/venvs/nova/lib/python2.7/site-packages/nova/volume/cinder.py", line 367, in create
Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] version = get_cinder_client_version(context)
Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] File "/opt/stack/venvs/nova/lib/python2.7/site-packages/nova/volume/cinder.py", line 237, in get_cinder_client_version
Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] endpoint_type=endpoint_type)
Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] File "/opt/stack/venvs/nova/lib/python2.7/site-packages/cinderclient/service_catalog.py", line 80, in url_for
Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] raise cinderclient.exceptions.EndpointNotFound()
Aug 07 20:11:05 overcloud-novacompute0-fj442a7p4zp6 nova-compute[2720]: 2014-08-07 20:11:05.501 2720 TRACE nova.compute.manager [instance: f3ecce77-84c9-4ea6-80c1-e5b8177860d6] EndpointNotFound

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/112970

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/112970
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=c55736d9fc941ae3f00a29e945b8881be7813e52
Submitter: Jenkins
Branch: master

commit c55736d9fc941ae3f00a29e945b8881be7813e52
Author: Dan Prince <email address hidden>
Date: Fri Aug 8 12:29:47 2014 -0400

    Use v1 as default for cinder_catalog_info

    In c5402ef4fc509047d513a715a1c14e9b4ba9674f we recently
    added support for the Cinder v2 client. This change modified
    the default value of the cinder_catalog_info config such
    that an end user who was previously using the Cinder V1
    API via the default config setting (by not setting it) would
    have a broken Nova -> cinder configuration upon upgrade.

    We should hold off on changing the default cinder_catalog_info
    for one release to allow for proper deprecation.

    Change-Id: I040b2c87ad0a2be92f31264e293794d97c27c965
    Closes-bug: #1354499

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → juno-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: juno-3 → 2014.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.