← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1728761] [NEW] [Pike support] Use volumev3 and cinderv3 in dashboard

 

Public bug reported:

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,

** Affects: horizon
     Importance: Undecided
         Status: New


** Tags: cinderv3 pike volumev3

-- 
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):
  New

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


Follow ups