Glance Using Swift Backend on Separate Openstack Cloud
Trying to determine whether or not it's possible to configure Glance to utilize a Swift backend that is running on a separate Openstack cloud.
Example Architecture:
Cloud #1
- OpenStack1
This Cloud runs all of the requisite services:
- Glance
- Ironic
- Keystone
- Neutron
- Nova
Cloud #2
- OpenStack2
Separate Cloud which runs all the same requisite services
- Keystone
- Neutron
- Nova
- This Cloud also hosts the
Swift Service/Object store
I should note that with my current configuration, I can push directly to Swift from OpenStack1
via either Curl or the swift
cmdline Utility. The Issue I'm experiencing is when creating a glance image, the file upload fails due to the following error on OpenStack1
:
2017-03-29 21:05:45.523 48778 ERROR glance.common.wsgi BackendException: Cannot find swift service endpoint : The request you have made requires authentication. (HTTP 401)
Is there a method that can be used to ensure that the Glance service on OpenStack1
can use swift
as the default_backend, given that there will be no defined swift service/endpoint on OpenStack1
and the keystone auth endpoints for Glance and Swift would be configured as:
- Glance Authenticates against Keystone on
OpenStack1
/etc/glance/glance-api.conf
[keystone_authtoken]
auth_url = <keystone_endpoint_on_OpenStack1>
auth_uri = <keystone_endpoint_on_OpenStack1>
- Swift Authenticates against Keystone on
Openstack2
/etc/glance/glance-swift-store.conf
[swift1]
auth_address = <keystone_endpoint_on_OpenStack2>
I also thought it might be useful to configure
OpenStack1
with a service/endpoint for Swift that points to the Swift Endpoint URL onOpenStack2
, but that doesn't seem to work as theCannot find swift service endpoint
errors are still logged