Remove Cinder V1 support

Bug #1467589 reported by Mike Perez on 2015-06-22
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Cinder
Low
Mike Perez
OpenStack Compute (nova)
Undecided
Mike Perez
OpenStack Heat
Fix Released
Low
huangtianhua
Rally
High
Ivan Kolodyazhny
devstack
Undecided
Monty Taylor
grenade
Undecided
Ivan Kolodyazhny
os-client-config
Fix Released
Undecided
Yaguang Tang
python-openstackclient
Fix Released
Low
Steve Martinelli
tempest
Undecided
Ivan Kolodyazhny

Bug Description

Cinder created v2 support in the Grizzly release. This is to track progress in removing v1 support in other projects.

Mike Perez (thingee) on 2015-06-22
Changed in nova:
status: New → In Progress
assignee: nobody → Mike Perez (thingee)
Ivan Kolodyazhny (e0ne) on 2015-06-22
Changed in rally:
assignee: nobody → Ivan Kolodyazhny (e0ne)
status: New → In Progress
Ivan Kolodyazhny (e0ne) wrote :

Rally is library and it supports old APIs. So we don't need to remove Cinder API v1 support from Rally. But we need to be able to run Rally with Cinder API v2 which is not supported now.

Ivan Kolodyazhny (e0ne) on 2015-06-23
Changed in devstack:
assignee: nobody → Ivan Kolodyazhny (e0ne)
status: New → In Progress
Ivan Kolodyazhny (e0ne) on 2015-06-23
Changed in tempest:
assignee: nobody → Ivan Kolodyazhny (e0ne)
Ivan Kolodyazhny (e0ne) on 2015-06-24
Changed in tempest:
status: New → In Progress
wanghao (wanghao749) wrote :

Looks like Heat project also need remove.

Changed in heat:
assignee: nobody → huangtianhua (huangtianhua)
Mike Perez (thingee) on 2015-07-28
Changed in cinder:
milestone: liberty-2 → liberty-3

We need to have new release of python-openstackclinent with fix #1475060 to support volume type creation via Cinder API v2

Steve Martinelli (stevemar) wrote :

@Ivan, for openstackclient, we're tracking this work with: https://blueprints.launchpad.net/python-openstackclient/+spec/volume-v2 - and actually just about done it, just need to release a new version.

Changed in python-openstackclient:
status: New → Invalid
Steve Martinelli (stevemar) wrote :

@Ivan, also, we won't be 'removing' v1 support for cinder in OSC. We will default to v2, but we plan on keeping support for older APIs.

Ivan Kolodyazhny (e0ne) wrote :

@Steve, you're right. We just need to have Cinder API v2 in OpenStack client by default.

Steve Martinelli (stevemar) wrote :

@Ivan, good call, devstack sets that by default, but we should change OSC to do that, specifically this line: https://github.com/openstack/python-openstackclient/blob/55d9eba0937944119e6209c85005980c7297d123/openstackclient/volume/client.py#L22

Changed in python-openstackclient:
status: Invalid → New
Changed in python-openstackclient:
importance: Undecided → Low
assignee: nobody → Steve Martinelli (stevemar)
status: New → In Progress
summary: - Remove Cinder V1 supprt
+ Remove Cinder V1 support
Ivan Kolodyazhny (e0ne) on 2015-08-25
Changed in grenade:
assignee: nobody → Ivan Kolodyazhny (e0ne)
Ivan Kolodyazhny (e0ne) on 2015-08-25
Changed in grenade:
status: New → In Progress

Reviewed: https://review.openstack.org/216305
Committed: https://git.openstack.org/cgit/openstack/python-openstackclient/commit/?id=f14251669f96d6010581702417828f4380144aa2
Submitter: Jenkins
Branch: master

commit f14251669f96d6010581702417828f4380144aa2
Author: Steve Martinelli <email address hidden>
Date: Mon Aug 24 10:38:43 2015 -0500

    default OS_VOLUME_API_VERSION to v2

    Cinder is trying to deprecate/remove support for v1, so we should,
    as a client library default to v2 and keep support for v1.

    Related-Bug: 1467589

    Change-Id: I732448a57fc3fd06a8d82ec0f0d2ace671036ca2

Changed in cinder:
milestone: liberty-3 → none
importance: Undecided → Low

Reviewed: https://review.openstack.org/209859
Committed: https://git.openstack.org/cgit/openstack/tempest/commit/?id=bcfc32e676c783c5427f4796f8d77426661c5b80
Submitter: Jenkins
Branch: master

commit bcfc32e676c783c5427f4796f8d77426661c5b80
Author: Ivan Kolodyazhny <email address hidden>
Date: Thu Aug 6 13:31:36 2015 +0300

    Use Cinder API V2 if V1 is disabled

    Cinder API v1 will be removed in Mitaka. We should be able to run tests against APIv2 only.

    Change-Id: I6916eb3e4b7c85f37be8b365b11ca8b48f88177c
    Closes-Bug: #1479157
    Related-Bug: #1467589

Angus Salkeld (asalkeld) on 2015-09-15
Changed in heat:
status: New → Confirmed
importance: Undecided → Low

Reviewed: https://review.openstack.org/194726
Committed: https://git.openstack.org/cgit/openstack-dev/devstack/commit/?id=a29434460e869b7bb397044d8f073531e4ee112d
Submitter: Jenkins
Branch: master

commit a29434460e869b7bb397044d8f073531e4ee112d
Author: Ivan Kolodyazhny <email address hidden>
Date: Tue Jun 23 19:09:34 2015 +0300

    Disable Cinder v1 API support by default

    Cinder API v1 will be removed Mitaka so we don't need to setup it be
    default.

    To enable Cinder API v1 you need to set CINDER_ENABLE_V1_API=True in
    your Devstack config.

    Related-Bug: #1467589

    Depends-On: I6916eb3e4b7c85f37be8b365b11ca8b48f88177c
    Change-Id: I0754e357433cfcd9fde7e937a4a1b440580b6289

Changed in rally:
importance: Undecided → High
Steve Martinelli (stevemar) wrote :

we've been setting the default volume api version 2 since 1.7.0, we're at 1.9.0 now. marking this as fix released for openstackclient, see commit: https://github.com/openstack/python-openstackclient/commit/f14251669f96d6010581702417828f4380144aa2

Changed in python-openstackclient:
status: In Progress → Fix Released
Ivan Kolodyazhny (e0ne) wrote :

As discussed at Summit, we can't remove any of existing APIs

Changed in cinder:
status: In Progress → Won't Fix
Sean McGinnis (sean-mcginnis) wrote :

To clarify the last comment a little - we won't be removing the v1 API code from Cinder at this time. We will need to keep that around for the foreseeable future.

This is still valid for all consumers of the API. Everyone should be switching over to v2.

Change abandoned by Ivan Kolodyazhny (<email address hidden>) on branch: master
Review: https://review.openstack.org/216690

Changed in rally:
status: In Progress → Fix Released
milestone: none → 0.2.0
milestone: 0.2.0 → none
Yaguang Tang (heut2008) wrote :

Even though we fix this issue in devstack and openstackclient , there are still some cases where devstack is using Cinder v1 API, this is duo to os-config-client's default config file is using v1 api endpoint. openstackclient get the cloud endpoint through os-config-client. Please take a look at this fix https://review.openstack.org/#/c/261787/

Yaguang Tang (heut2008) on 2015-12-30
Changed in os-client-config:
assignee: nobody → Yaguang Tang (heut2008)
Monty Taylor (mordred) wrote :

os-client-config will NEVER remove support for cinder v1. This is because there are cinder v1 installations in the wild, and users of those clouds need to be served.

To solve the issue that is mentioned above about devstack, we need to make a change to devstack to add volume_api_version: '2' to the cloud definitions in clouds.yaml when it writes the file. This will make all of the devstack client interactions use volume v2.

Changed in os-client-config:
status: New → Won't Fix

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

Changed in devstack:
assignee: Ivan Kolodyazhny (e0ne) → Monty Taylor (mordred)
Monty Taylor (mordred) wrote :

I went and double-checked existing public clouds, and there are enough of them with volume v2 support to switch the default.

Changed in os-client-config:
status: Won't Fix → In Progress

Reviewed: https://review.openstack.org/261787
Committed: https://git.openstack.org/cgit/openstack/os-client-config/commit/?id=1cd3e5bb7fd7cd72a481f5ae8bbcd0b2ab114680
Submitter: Jenkins
Branch: master

commit 1cd3e5bb7fd7cd72a481f5ae8bbcd0b2ab114680
Author: Yaguang Tang <email address hidden>
Date: Sun Dec 27 10:59:08 2015 +0800

    Update volume API default version from v1 to v2

    Cinder has deprecated API version v1 since Juno release, and
    there is a blueprint to remove v1 API support which is in progress.
    We should default to v2 API when it's there.

    Closes-Bug: 1467589
    Change-Id: I83aef4c681cbe342c445f02436fcd40cf1222f23

Changed in os-client-config:
status: In Progress → Fix Released

Reviewed: https://review.openstack.org/262831
Committed: https://git.openstack.org/cgit/openstack-dev/devstack/commit/?id=5bf6a9489c52600ab0fe5a68e554398531894051
Submitter: Jenkins
Branch: master

commit 5bf6a9489c52600ab0fe5a68e554398531894051
Author: Monty Taylor <email address hidden>
Date: Thu Dec 31 16:22:04 2015 -0600

    Write volume API version into clouds.yaml

    We're trying to get things to use volume v2 by default. devstack already
    deploys a v2 endpoint. Tell clouds.yaml that this devstack cloud is a v2
    enabled cloud.

    Change-Id: I6f792ce65153389aa1ee133e9bd363c394b28534
    Closes-Bug: 1467589

Changed in devstack:
status: In Progress → Fix Released

This issue was fixed in the openstack/os-client-config 1.14.0 release.

Sean Dague (sdague) wrote :

Cinder v2 is still not supported by anything outside of OpenStack components (see the state of 3rd party libraries). The quest to remove v1 support from all tools seems unwise.

Changed in nova:
status: In Progress → Opinion
Ken'ichi Ohmichi (oomichi) wrote :

On tempest side, the v2 api is enabled on the default and QA team still needs to verify the v1 api behaviors even if that is deprecated. So I think this bug is already fixed on tempest side.

Changed in tempest:
status: In Progress → Fix Released
Thomas Herve (therve) on 2017-02-24
Changed in heat:
status: Confirmed → Fix Released

This issue was fixed in the openstack/python-openstacksdk 0.10.0 release.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers