2018-05-29 09:51:29 |
Kevin de Berk |
description |
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) |
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) |
|