Nova requires you to name your volumev3 service cinderv3

Bug #1803627 reported by Sam Morrison
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Matt Riedemann

Bug Description

Nova by default looks for the cinder endpoint by looking for a service type of volumev3 and that also has a name of "cinderv3"

I think it should only be looking for an endpoint with a type of volumev3

The name attribute of an endpoint should be free to set by the operator.

In our keystone we name this "Volume API V3" which is friendly as it also appears in horizon and
using the CLI tools. (cinderv3 on the other hand is not so friendly)

Tags: volumes
Revision history for this message
Matt Riedemann (mriedem) wrote :

Can you be more specific about where this fails, or where it's being looked up with cinderv3 hard-coded? Also, which release?

I'm aware of the volumev3 here:

https://github.com/openstack/nova/blob/3b2e42f37152a539472782ad1d71c1f951c0343b/nova/context.py#L130

I'm not seeing anything cinderv3 specific in here though:

https://github.com/openstack/nova/blob/3b2e42f37152a539472782ad1d71c1f951c0343b/nova/volume/cinder.py

Maybe you mean this?

https://github.com/openstack/nova/blob/c6218428e9b29a2c52808ec7d27b4b21aadc0299/nova/conf/cinder.py#L26

Which would be used here:

https://github.com/openstack/nova/blob/3b2e42f37152a539472782ad1d71c1f951c0343b/nova/volume/cinder.py#L200

That is passed through to python-cinderclient, but I'm not sure if it's needed...

https://github.com/openstack/nova/blob/3b2e42f37152a539472782ad1d71c1f951c0343b/nova/volume/cinder.py#L270

Maybe we should just pop it from the dict we pass to keystoneauth1 to get the endpoint URL?

https://github.com/openstack/nova/blob/3b2e42f37152a539472782ad1d71c1f951c0343b/nova/volume/cinder.py#L210

tags: added: volumes
Revision history for this message
Matt Riedemann (mriedem) wrote :

What happens if you just set [cinder]/catalog_info=volumev3::publicURL in nova.conf?

Revision history for this message
Matt Riedemann (mriedem) wrote :

Looks like you can't omit the service name:

ValueError: Value 'volumev3::publicURL' doesn't match regex '(\\\\w+):(\\\\w+):(.*?)'

Revision history for this message
Matt Riedemann (mriedem) wrote :

BTW, looks like this would have been resolved with this change which is in merge conflict:

https://review.openstack.org/#/c/508345/

But the cinder configuration was the only thing that didn't get completed as part of that blueprint to standardize how nova is configured to talk to all of the other services via keystoneauth1.

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/620738

Changed in nova:
assignee: nobody → Matt Riedemann (mriedem)
status: New → In Progress
Matt Riedemann (mriedem)
Changed in nova:
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/620738
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=d0ba488c1df86905082a13cc8598548244db0fd7
Submitter: Zuul
Branch: master

commit d0ba488c1df86905082a13cc8598548244db0fd7
Author: Matt Riedemann <email address hidden>
Date: Wed Nov 28 18:14:16 2018 -0500

    Make [cinder]/catalog_info no longer require a service_name

    The service_name part of the cinder catalog_info option is not
    necessary to lookup the endpoint from the service catalog when
    we have the endpoint type (volumev3) and the interface (publicURL).

    This changes the option default to not include the service name
    and no longer makes a service name required. If one is provided,
    then it will be sent along to KSA/cinderclient, otherwise it is
    omitted.

    As this is a change in behavior of the config option, a release note
    is added.

    Change-Id: I89395fafffd60981fba17a7b09f7015e1f827b62
    Closes-Bug: #1803627

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 19.0.0.0rc1

This issue was fixed in the openstack/nova 19.0.0.0rc1 release candidate.

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.