Autoscaling auth failure in OpenStack Kilo 2015.1.2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
New
|
Undecided
|
Unassigned | ||
OpenStack Identity (keystone) |
Incomplete
|
Undecided
|
Unassigned | ||
python-novaclient |
New
|
Undecided
|
Unassigned | ||
heat (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
We upgraded environment to OpenStack Kilo 2015.1.2 and then we cannot use heat autoscaling feature anymore.
Keystone version 1:2015.
Heat version 2015.1.
- First we hit authentication failure on ec2tokens heat-api-cfn.log
2016-01-15 14:21:07.505 6590 INFO heat.api.
2016-01-15 14:21:07.507 6590 INFO heat.api.
2016-01-15 14:21:07.509 6590 INFO heat.api.
2016-01-15 14:21:07.533 6590 INFO heat.api.
2016-01-15 14:21:07.535 6590 INFO eventlet.
We applied patch to keystone https:/
Then we hit error on python-novaclient auth boot during autoscaling heat-engine.log
2016-01-15 06:43:05.836 11301 ERROR heat.engine.stack [req-fd1fd187-
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack Traceback (most recent call last):
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack result = res.validate()
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack limits = self.client_
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack limits = self.client(
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack return self._get(
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack _resp, body = self.api.
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack return self._cs_
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack self.authenticate()
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack self._v2_
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack return self._authentic
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack **kwargs)
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack resp, body = self.request(url, method, **kwargs)
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack raise exceptions.
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack NotFound: The resource could not be found. (HTTP 404)
2016-01-15 06:43:05.836 11301 TRACE heat.engine.stack
2016-01-15 06:43:05.838 11301 INFO heat.engine.stack [req-fd1fd187-
It was caused by bad auth_url argument passed into novaclient - http://
We modified /usr/lib/
args = {
}
And then we got following error heat-engine.log
2016-01-15 14:36:05.464 8195 ERROR heat.engine.stack [req-b19963cf-
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack Traceback (most recent call last):
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack result = res.validate()
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack limits = self.client_
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack limits = self.client(
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack return self._get(
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack _resp, body = self.api.
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack return self._cs_
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack self.authenticate()
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack auth_url = self._v1_
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack File "/usr/lib/
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack raise exceptions.
2016-01-15 14:36:05.464 8195 TRACE heat.engine.stack ClientException: Unknown Error (HTTP 300)
And then we have found that there is only auth_token and no username and password. It seems that python-novaclient cannot use v3 authentication token over v2.0.
https:/
Has anybody tested heat autoscaling on latest Kilo update?
Status changed to 'Confirmed' because the bug affects multiple users.