Posted on Thu 27 June 2013

OpenStack Glance - Use Swift as backend

On OpenStack again. Glance is the component in charge of hosting the images (and image snapshots) to be cloned for the ephemeral instances. Images usually are just some random big files so it makes perfect sense to use Swift for such an object (a File Object storage)!

As usual, some assumptions before we start:

  • you're familiar with the general OpenStack architecture
  • you have already some Glance image node configured and working as expected

This said, only few changes are needed to swap from local filesystem storage to Swift. Edit the glance-api.conf as follows:

default_store = swift
swift_store_auth_address = $KEYSTONE_PROTOCOL://$KEYSTONE_HOST:$KEYSTONE_PORT/v2.0/
swift_store_user = $SERVICE_TENANT_NAME:glance
swift_store_key = $SERVICE_PASSWORD
swift_store_create_container_on_put = True

These are probably self-explanatory but I have a few tips to spare! If you decide to go via https for the keystone service, make sure you can validate locally (on Glance) the https certificate. If unsure about the values to be used for the $SERVICE_* variables, these are the same set in the same config file in section keystone_authtoken.

Update (Dec 2013): The user you will set as swift_store_user must have rights to create new containers in Swift, to have that you can assign it the ResellerAdmin role.

Also, while not needed, you should consider using port 35357 rather than 5000 for the KEYSTONE_PORT as it is the port where administrative commands can be given.

Short and straight to the point!

© Giulio Fidente. Built using Pelican. Theme by Giulio Fidente on github. Member of the Internet Defense League.