[block-storage] Pike support: Nova uses Cinder API v3

Bug #1727338 reported by Seb-Solon
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack + Chef
Fix Released
Critical
Samuel Cassiba

Bug Description

Hi there,

Based on the release notes [https://docs.openstack.org/releasenotes/nova/pike.html],

"Nova is now configured to use the v3 version of the Cinder API. You need to ensure that the v3 version of the Cinder API is available and listed in the service catalog in order to use Nova with the default configuration option."

The block storage cookbook still specify cinderv2 and volumev2 as service_name and service_type and endpoints also seems to be pointing to v2 version.

See : https://github.com/openstack/cookbook-openstack-block-storage/blob/master/attributes/default.rb#L54 and https://github.com/openstack/cookbook-openstack-block-storage/blob/master/attributes/default.rb#L127

One way to fix it is to follow the release notes advice (use v2 explicitly in nova).
Another way is to start to use v3 and update the cookbook. However, I am not 100% sure other components are using the v3. In my setup I had to have both v3 and v2 endpoints, so maybe there are more code to fix to go to the v3 version

Let me know if you would like more details

Regards

Tags: cinder nova pike
Seb-Solon (openid-3)
tags: added: cinder nova pike
description: updated
Changed in openstack-chef:
status: New → Confirmed
importance: Undecided → Critical
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cookbook-openstack-block-storage (master)

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

Changed in openstack-chef:
assignee: nobody → Seb-Solon (openid-3)
status: Confirmed → In Progress
Revision history for this message
Seb-Solon (openid-3) wrote :

After some digging, unfortunately the dashboard is not ready for v3 only endpoint. A service with volumev2 service type is required. See the issue open on horizon : https://bugs.launchpad.net/horizon/+bug/1728761

The fix has to be temporary (waiting for the dashboard fix) anyway. We have a few options :

1> Add volumev2 endpoint (and service) if we specify the volumev3 in the attribute (basically duplicate the code in identity_registration recipe. Such service can point to 8776/v3/%(tenant_id)s, as v3 and v2 have the same base (taken from release note)

2> Add attribute for "deprecated version" and create the service / enpoints deprecated base on another attribute or if volumev3 specified

3> Force nova to use v2 as suggested in the release note

1 and 2 will stays until support is made on horizon. We can remove everything after that

3 will require to be reverted later

In all 3 cases, we need to update dashboard config : OPENSTACK_API_VERSIONS dict should specify volume 3 (in the case the default is not changed after the support is done)

Any preferences? On my local setup I quickly implemented the 1st one to make it work. If you guys think it's good enough I'll update the patchset with this option.

Regards

Revision history for this message
Samuel Cassiba (scassiba) wrote :

A graceful approach would probably be the best idea. By allowing for both, and changing the default from one to the other at some point in time, it allows for a gradual movement, as opposed to a big bang approach.

Changed in openstack-chef:
assignee: Seb-Solon (openid-3) → Samuel Cassiba (scassiba)
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on cookbook-openstack-block-storage (master)

Change abandoned by Samuel Cassiba (<email address hidden>) on branch: master
Review: https://review.openstack.org/516167
Reason: This has been superseded by https://review.openstack.org/523031 until Cinder v2 is deprecated.

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.