Shared & public images no working with multi-tenant swift backend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Fix Released
|
Critical
|
Dharini Chandrasekar | ||
Newton |
New
|
Undecided
|
Unassigned |
Bug Description
Hi,
We are seeing issues when trying to using public and shared images when Glance is configured to use a multi-tenant Swift backend.
Here's what we see :
1. Create a public image in project cf8fc081a9954ce
2. Attempt to create instance from image in project 67e22ed6876d432
3. The instance creation fails, with the following log line in the Glance API
Object GET failed: https:/
The issue appears to be that the storage url in the swift store driver is determined from the catalog in the context of the current request (which is scoped to the project we are creating the instance in) not project where the image is created.
Looking at the changes introduced here https:/
Since this is pretty fundamental for the use case we can only assume we are missing some configuration option. The direct url in Glance is stored as direct_
since the driver and location seem to have no information on the image other than the image id its not clear how it could make the distinction between public/shared images and private ones or determine the project if of the shared image.
The only way we can get this to work is first to create an instance on each hypervisor in the project of the shared image. When we do this creating instances in a second project work because the image is cached on the hypervisor - obviously this is not a viable workaround.
Any information on how to get this scenario working would be much appreciated.
Thanks
Andrew
Changed in glance: | |
importance: | Undecided → Critical |
Changed in glance: | |
assignee: | nobody → Dharini Chandrasekar (dharini-chandrasekar) |
Changed in glance: | |
status: | Triaged → Fix Released |
no longer affects: | glance (Ubuntu) |
If anyone has cycles to see if they can reproduce this in devstack that would be great.
If this is a real issue it would be great to not have a broken multi-tenant swift store in Newton.
(And to update our glance_store swift functional tests to exercise this.)