← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1657496] Re: Nova cannot find cinder v3 endpoint

 

Reviewed:  https://review.openstack.org/422078
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=377f4004970e6f5b26a146b24bb108e04fe5c0ae
Submitter: Jenkins
Branch:    master

commit 377f4004970e6f5b26a146b24bb108e04fe5c0ae
Author: scottda <scott.dangelo@xxxxxxx>
Date:   Wed Jan 18 09:10:21 2017 -0700

    Fix Nova to allow using cinder v3 endpoint
    
    Nova creates a limited service catalog using just the endpoints
    required for Nova. This needs to include the new Cinder v3.
    
    Change-Id: I06f9f2885bb1748897332cb15d4aafe4a99aa9dc
    Closes-Bug: #1657496


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1657496

Title:
  Nova cannot find cinder v3 endpoint

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  We are unable to use cinder v3 endpoint.
  To Reproduce put the following in nova.conf:
   [cinder]
    catalog_info = volumev3:cinderv3:publicURL

  When nova first uses the cinderclient for a volume-attach, an exception will be thrown:
  2017-01-05 19:30:30.353 7049 ERROR nova.compute.manager [instance: cf1ec253-8a03-4080-a7dd-768090c86c5e]     raise exceptions.EndpointNotFound(msg)
  2017-01-05 19:30:30.353 7049 ERROR nova.compute.manager [instance: cf1ec253-8a03-4080-a7dd-768090c86c5e] EndpointNotFound: publicURL endpoint for volumev3 service named cinderv3 in RegionOne region not found

  See: http://logs.openstack.org/82/385682/3/check/gate-tempest-dsvm-
  neutron-full-ubuntu-
  xenial/0a4185b/logs/screen-n-cpu.txt.gz?level=TRACE#_2017-01-05_19_30_30_353

  This fix is required:

  diff --git a/nova/context.py b/nova/context.py
  index 68dcdad..02549f3 100644
  --- a/nova/context.py
  +++ b/nova/context.py
  @@ -102,8 +102,8 @@ class RequestContext(context.RequestContext):
           if service_catalog:
               # Only include required parts of service_catalog
               self.service_catalog = [s for s in service_catalog
  -                if s.get('type') in ('volume', 'volumev2', 'key-manager',
  -                                     'placement')]
  +                if s.get('type') in ('volume', 'volumev2', 'volumev3',
  +                                     'key-manager', 'placement')]
           else:
               # if list is empty or none
               self.service_catalog = []

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1657496/+subscriptions


References