Ask Your Question

Revision history [back]

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>