Swift+Glance stops working after changing service password
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Security Advisory |
Won't Fix
|
Undecided
|
Unassigned | ||
glance_store |
Confirmed
|
High
|
Unassigned |
Bug Description
Hello!
We have some trouble with glance+swift storage.
After changing password for account, used for Keystone authentication in Glance and Swift, glance stops working with errors 500 (HTTPInternalSe
I investigated this issue and found that Glance stores image or snapshot location in database (mysql or sqlite) with _full_ swift URI with login and password.
Example:
swift+http://
When we changed password in Keystone, this credentials are outdated BUT Glance STILL USE IT for authenticating in Swift, ignoring glance-api.conf and glance-api-paste. In result, we got HTTP500 error in reply to any request to glance (like glance image-download) and HTTP401 error in glance-api.log
I can find only one method to workaround this - I manually changed this credentials in MySQL. In our situation (5 images) this way is idiotic, but real. But what if we have 500 or 5000 images and snapshots?
I think, glance MUST have any method to change credentials without manual changing thousands of DB records.
information type: | Public → Public Security |
information type: | Public Security → Public |
Changed in glance: | |
importance: | Undecided → High |
status: | New → Confirmed |
description: | updated |
Changed in glance: | |
status: | In Progress → Incomplete |
status: | Incomplete → Fix Committed |
Changed in glance: | |
status: | Fix Committed → Confirmed |
Changed in glance: | |
importance: | High → Medium |
Changed in glance: | |
assignee: | Flavio Percoco (flaper87) → nobody |
affects: | glance → glance-store |
Changed in glance-store: | |
importance: | Medium → High |
This is a pretty major design flaw that we definitely want to rectify.
It's also even more of a hassle if a deployer is encrypting the stored location information (ie: conf.metadata_ encryption_ key), if we provide a tool as a solution then we will want to keep that in mind.