Service user's password unnecessarily updated
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Autopilot Log Analyser |
Fix Committed
|
Undecided
|
Francis Ginther | ||
Landscape Server |
Fix Released
|
High
|
Francis Ginther | ||
keystone (Juju Charms Collection) |
Fix Released
|
High
|
Edward Hope-Morley | ||
nova-compute (Juju Charms Collection) |
Won't Fix
|
High
|
Unassigned |
Bug Description
Whenever the identity-
This causes problems for the nova-compute services. Nova maintains a global neutron client which operates under the nova credentials within the [neutron] section of the nova.conf file. These credentials are only read in on startup of the nova-compute service.
Note: Whenever the password is updated, the token used in this service is revoked and each nova-compute service in the environment must be restarted.
Steps to recreate:
1. juju deploy cloud
2. launch an instance on a nova compute node
3. Wait at least one minute to ensure that the global token has been created
Note: this 1 minute wait is based on the polling cycle of the heal_instance_
3. trigger an identity-
juju run --unit nova-cloud-
4. Observe during next polling cycles authentication errors to neutron.
Example on Kilo:
2016-12-09 01:12:21.647 1478 TRACE nova.compute.
2016-12-09 01:12:21.647 1478 TRACE nova.compute.
...
2016-12-09 01:12:21.647 1478 TRACE nova.compute.
2016-12-09 01:12:21.647 1478 TRACE nova.compute.
Changed in keystone (Juju Charms Collection): | |
importance: | Undecided → High |
tags: | added: openstack |
Changed in nova-compute (Juju Charms Collection): | |
status: | New → Confirmed |
importance: | Undecided → High |
milestone: | none → 17.01 |
Changed in landscape: | |
milestone: | none → 16.12 |
Changed in landscape: | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in landscape: | |
milestone: | 16.12 → 17.01 |
Changed in autopilot-log-analyser: | |
assignee: | nobody → Francis Ginther (fginther) |
Changed in autopilot-log-analyser: | |
status: | New → Fix Committed |
Changed in landscape: | |
importance: | Medium → High |
assignee: | nobody → Francis Ginther (fginther) |
tags: | added: cdo-qa-blocker |
Changed in landscape: | |
milestone: | 17.01 → 17.02 |
Changed in landscape: | |
status: | Triaged → Fix Committed |
Changed in landscape: | |
status: | Fix Committed → Fix Released |
A bit more info, I have just tried this out and I see that as mentioned, the real password does not change but its record in the keystone database does. This in turn triggers a revocation_event that causes all active tokens for that service user to be revoked. I can only assume that when the password update call is made, keystone and/or mysql is using extra information such as timestamp when encoding the password string and this results in a new record in the database each time the call is made even if the password itself has not changed.