metricd stops renewing/refreshing token with swift backend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gnocchi |
Fix Released
|
Medium
|
Julien Danjou | ||
2.1 |
Fix Released
|
Medium
|
Julien Danjou | ||
python-swiftclient |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Gnocchi is configured to use swift backend. Also gnocchi's api is running under mod_wsgi.
After some time, gnocchi-metricd starts error'ing with next message:
...
2016-06-07 11:06:01.077 16999 DEBUG gnocchi.storage [-] Expunging deleted metrics process_
2016-06-07 11:06:06.060 16999 DEBUG gnocchi.storage [-] Processing new and to delete measures process_
2016-06-07 11:06:06.079 16999 INFO swiftclient [-] REQ: curl -i http://
2016-06-07 11:06:06.079 16999 INFO swiftclient [-] RESP STATUS: 401 Unauthorized
2016-06-07 11:06:06.080 16999 INFO swiftclient [-] RESP HEADERS: {u'Date': u'Tue, 07 Jun 2016 11:06:06 GMT', u'Content-Length': u'131', u'Content-Type': u'text/html; charset=UTF-8', u'Www-Authentic
2016-06-07 11:06:06.080 16999 INFO swiftclient [-] RESP BODY: <html><
2016-06-07 11:06:06.080 16999 ERROR swiftclient [-] Container GET failed: http://
2016-06-07 11:06:06.080 16999 ERROR swiftclient Traceback (most recent call last):
2016-06-07 11:06:06.080 16999 ERROR swiftclient File "/usr/lib/
2016-06-07 11:06:06.080 16999 ERROR swiftclient service_
2016-06-07 11:06:06.080 16999 ERROR swiftclient File "/usr/lib/
2016-06-07 11:06:06.080 16999 ERROR swiftclient http_response_
2016-06-07 11:06:06.080 16999 ERROR swiftclient ClientException: Container GET failed: http://
2016-06-07 11:06:06.080 16999 ERROR swiftclient
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage [-] Unexpected error during measures processing
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage Traceback (most recent call last):
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage File "/usr/lib/
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage self.process_
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage File "/usr/lib/
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage block_size, full=sync)
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage File "/usr/lib/
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage limit=limit)
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage File "/usr/lib/
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage full_listing=
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage File "/usr/lib/
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage service_
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage File "/usr/lib/
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage http_response_
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage ClientException: Container GET failed: http://
2016-06-07 11:06:06.080 16999 ERROR gnocchi.storage
2016-06-07 11:06:06.081 16999 DEBUG gnocchi.storage [-] Expunging deleted metrics process_
...
And gnocchi_
[Tue Jun 07 11:06:31.662229 2016] [:error] [pid 32764] [remote 192.0.2.21:44] mod_wsgi (pid=32764): Exception occurred processing WSGI script '/var/www/
[Tue Jun 07 11:06:31.662262 2016] [:error] [pid 32764] [remote 192.0.2.21:44] Traceback (most recent call last):
[Tue Jun 07 11:06:31.662276 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662295 2016] [:error] [pid 32764] [remote 192.0.2.21:44] return app(environ, start_response)
[Tue Jun 07 11:06:31.662314 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662331 2016] [:error] [pid 32764] [remote 192.0.2.21:44] resp = self.call_func(req, *args, **self.kwargs)
[Tue Jun 07 11:06:31.662340 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662352 2016] [:error] [pid 32764] [remote 192.0.2.21:44] return self.func(req, *args, **kwargs)
[Tue Jun 07 11:06:31.662361 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662375 2016] [:error] [pid 32764] [remote 192.0.2.21:44] response = req.get_
[Tue Jun 07 11:06:31.662384 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662396 2016] [:error] [pid 32764] [remote 192.0.2.21:44] application, catch_exc_
[Tue Jun 07 11:06:31.662405 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662417 2016] [:error] [pid 32764] [remote 192.0.2.21:44] app_iter = application(
[Tue Jun 07 11:06:31.662425 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662437 2016] [:error] [pid 32764] [remote 192.0.2.21:44] return self.applicatio
[Tue Jun 07 11:06:31.662446 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662460 2016] [:error] [pid 32764] [remote 192.0.2.21:44] return self.app(environ, start_response)
[Tue Jun 07 11:06:31.662480 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662525 2016] [:error] [pid 32764] [remote 192.0.2.21:44] return self.applicatio
[Tue Jun 07 11:06:31.662538 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662552 2016] [:error] [pid 32764] [remote 192.0.2.21:44] return super(Pecan, self)._
[Tue Jun 07 11:06:31.662561 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662573 2016] [:error] [pid 32764] [remote 192.0.2.21:44] self.invoke_
[Tue Jun 07 11:06:31.662582 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662593 2016] [:error] [pid 32764] [remote 192.0.2.21:44] result = controller(*args, **kwargs)
[Tue Jun 07 11:06:31.662608 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662622 2016] [:error] [pid 32764] [remote 192.0.2.21:44] self.metric, six.moves.
[Tue Jun 07 11:06:31.662631 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662645 2016] [:error] [pid 32764] [remote 192.0.2.21:44] list(map(tuple, measures))))
[Tue Jun 07 11:06:31.662654 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662667 2016] [:error] [pid 32764] [remote 192.0.2.21:44] data)
[Tue Jun 07 11:06:31.662675 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662687 2016] [:error] [pid 32764] [remote 192.0.2.21:44] response_
[Tue Jun 07 11:06:31.662696 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662707 2016] [:error] [pid 32764] [remote 192.0.2.21:44] service_
[Tue Jun 07 11:06:31.662715 2016] [:error] [pid 32764] [remote 192.0.2.21:44] File "/usr/lib/
[Tue Jun 07 11:06:31.662726 2016] [:error] [pid 32764] [remote 192.0.2.21:44] http_response_
[Tue Jun 07 11:06:31.662755 2016] [:error] [pid 32764] [remote 192.0.2.21:44] ClientException: Object PUT failed: http://
Packages:
python-
openstack-
openstack-
python-
openstack-
openstack-
openstack-
openstack-
python-
Regards,
Yurii
Changed in gnocchi: | |
status: | New → Triaged |
Changed in gnocchi: | |
status: | Fix Committed → Fix Released |
milestone: | none → 2.2.0 |
The problem is that if you set retries=0 in the Swift client object, then it does not retry, even on 401, to renew the token.