Comment 0 for bug 1773945

Revision history for this message
Kevin de Berk (dberk) wrote :

We have a python script that called servers.list() on an instance of novaclient.v2.client.Client . Sometimes that raises a "BadRequest marker not found" exception:

Our call:

  client = nova_client.Client("2", session=some_session)
  client.servers.list()

Observed Stacktrace:
  File "/usr/lib/python2.7/site-packages/XXXX/XXXX.py", line 630, in XXXX:
    all_servers = self.nova.servers.list()
  File "/usr/lib/python2.7/site-packages/novaclient/v2/servers.py", line 854, in list
    "servers")
  File "/usr/lib/python2.7/site-packages/novaclient/base.py", line 257, in _list
    resp, body = self.api.client.get(url)
  File "/usr/lib/python2.7/site-packages/keystoneauth1/adapter.py", line 304, in get
    return self.request(url, 'GET', **kwargs)
  File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 83, in request
    raise exceptions.from_response(resp, body, url, method)
BadRequest: marker [6a91d602-ab6e-42e0-929e-5ec33df2ddef] not found (HTTP 400) (Request-ID: req-78827725-801d-4514-8cc8-e4b94f15c191)

Discussion:
We have a lot of stacks and we sometimes create multiple stacks at the same time. We've noticed that
that the stacks with the mentioned UUIDs were created just before these errors occur. It seems that when a newly-created stack
appears at a certain location in the server list, its UUID is used as a marker, but the code that validates the marker does
not recognize such stacks.

Relevant versions:
- python-novaclient (9.1.0)
- nova (16.0.0)