yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #70004
[Bug 1728761] Re: [Pike support] Use volumev3 and cinderv3 in dashboard
Reviewed: https://review.openstack.org/527767
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=a774fa30dd41c12eacad154adb40605025a165e2
Submitter: Zuul
Branch: master
commit a774fa30dd41c12eacad154adb40605025a165e2
Author: Ivan Kolodyazhny <e0ne@xxxxxxxxx>
Date: Wed Dec 13 21:21:48 2017 +0200
Use Cinder API v3 by default
Cinder API v3 was introduced several releases ago and is backward
compatible with API v2 so it's safe to swith to use it.
Change-Id: I550e6c59bb14c17da78d7b2abcde5783b2b6825d
Closes-Bug: #1728761
** Changed in: horizon
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1728761
Title:
[Pike support] Use volumev3 and cinderv3 in dashboard
Status in OpenStack Dashboard (Horizon):
Fix Released
Bug description:
Hi there,
Based on the release notes https://docs.openstack.org/releasenotes/nova/pike.html[1],
"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."
By default Nova catalog_info parameter for cinder is
volumev3:cinderv3:publicURL [https://docs.openstack.org/ocata/config-
reference/compute/config-options.html]
From what I can see it is still not possible to have the dashboard
working without a volumev2 service_type endpoint created. Having only
volumev3:cinderv3 will result in Unauthorized error in the Dashboard
(throw by django). Even if I update the OPENSTACK_API_VERSIONS dict in
the dashboard config.
After some digging and playing: looks like the permission are not
ready for such v3.
For instance this :
https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/volumes/panel.py#L24
point to a volumev2, if I change that to v3 I managed to have the page
served but with a bunch of error
Another piece of code that make me think volumev3 is not really
supported :
https://github.com/openstack/horizon/blob/master/openstack_dashboard/api/cinder.py#L61
. Here we import some v2 client and it seems like it is tag as
supported and/or prefered (preferred_version variable) for v2
Having v3 in the dashboard config will only need to the following
error :
https://github.com/openstack/horizon/blob/master/openstack_dashboard/api/base.py#L96.
Which is logic because of the if (2 line above) that prevent the use
of not supported version (see previous paragraph)
I believe the fix would be to update the permissions, but I am not
vary familiar with the code base so it may not be that easy.
My workaround for now is to register the volumev2 service even if the
url points to 8776:/v3/ as [1] mentions "The base 3.0 version is
identical to v2".
Hope this help to debug / fix the issue,
Regards,
To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1728761/+subscriptions
References