← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1557584] [NEW] Broken retry mechanism for 'nova image-list'

 

Public bug reported:

You can configure a list of glance API servers in nova.conf like so:

    [glance]
    api_servers=http://192.168.122.30:9292/v1,http://192.168.122.31:9292/v1
    num_retries = 5

When a call to one of the glance api servers fails, nova typically
retries the call on one of the others. This is not the case for 'nova
image-list'.

The retry mechanism is here:

https://github.com/openstack/nova/blob/83261f3106a8bdde38d258a74da777add4956290/nova/image/glance.py#L249

In the case of 'nova image-list', glanceclient returns a python
generator rather than an actual list of images. Because a generator is
returned, an exception will never be raised there, so the retry
mechanism is never executed.

    https://github.com/openstack/python-
glanceclient/blob/d59e341a4cd99a8488d5cf41052d9b218379ac87/glanceclient/v1/images.py#L268

This bug was originally reported downstream:
https://bugzilla.redhat.com/show_bug.cgi?id=1313254

** Affects: nova
     Importance: Undecided
     Assignee: Diana Clarke (diana-clarke)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => Diana Clarke (diana-clarke)

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

Title:
  Broken retry mechanism for 'nova image-list'

Status in OpenStack Compute (nova):
  New

Bug description:
  You can configure a list of glance API servers in nova.conf like so:

      [glance]
      api_servers=http://192.168.122.30:9292/v1,http://192.168.122.31:9292/v1
      num_retries = 5

  When a call to one of the glance api servers fails, nova typically
  retries the call on one of the others. This is not the case for 'nova
  image-list'.

  The retry mechanism is here:

  https://github.com/openstack/nova/blob/83261f3106a8bdde38d258a74da777add4956290/nova/image/glance.py#L249

  In the case of 'nova image-list', glanceclient returns a python
  generator rather than an actual list of images. Because a generator is
  returned, an exception will never be raised there, so the retry
  mechanism is never executed.

      https://github.com/openstack/python-
  glanceclient/blob/d59e341a4cd99a8488d5cf41052d9b218379ac87/glanceclient/v1/images.py#L268

  This bug was originally reported downstream:
  https://bugzilla.redhat.com/show_bug.cgi?id=1313254

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


Follow ups