yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #46638
[Bug 1520937] Re: Nova strips the path from glance servers specificed in [glance]/api_servers config
This has been fixed in upstream Mitaka.
** Changed in: nova
Assignee: Morgan Fainberg (mdrnstm) => Sean Dague (sdague)
** Changed in: nova
Importance: Undecided => Medium
** 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/1520937
Title:
Nova strips the path from glance servers specificed in
[glance]/api_servers config
Status in OpenStack Compute (nova):
Fix Released
Bug description:
Nova strips out the path from the URL for any glance server in the
"api_servers" configuration option. This prevents the use of
<host>/image as part of the location for glance to be specified.
the code in "nova.image.glance" for "get_api_servers" silently drops
the path on the floor.
As you can see here:
def get_api_servers():
"""Shuffle a list of CONF.glance.api_servers and return an iterator
that will cycle through the list, looping around to the beginning
if necessary.
"""
api_servers = []
configured_servers = (['%s:%s' % (CONF.glance.host, CONF.glance.port)]
if CONF.glance.api_servers is None
else CONF.glance.api_servers)
for api_server in configured_servers:
if '//' not in api_server:
api_server = 'http://' + api_server
o = urlparse.urlparse(api_server)
port = o.port or 80
host = o.netloc.rsplit(':', 1)[0]
if host[0] == '[' and host[-1] == ']':
host = host[1:-1]
use_ssl = (o.scheme == 'https')
api_servers.append((host, port, use_ssl))
random.shuffle(api_servers)
return itertools.cycle(api_servers)
Urlparse.urlparse splits out as follows:
>>> urlparse.urlparse("http://test.com/images")
ParseResult(scheme='http', netloc='test.com', path='/images', params='', query='', fragment='')
This means that glance *must* be on the root of wherever it lives from
nova's perspective. We should not prevent services from living outside
of the "root" of the path / ignoring proper URL schemes.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1520937/+subscriptions
References