Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been reading up on how to deploy an OpenStack environment on some Ubuntu servers... I found some info on deploying and configuring it manually and I found some info on deploying it using Orchestra for provisioning server hardware and Juju for installing OpenStack nodes.

The manual install instructions included steps for installing and configuring Swift as part of the OpenStack environment, but neither the Orchestra/Juju instructions in section 2.2 here nor the instructions on slide 41 here include anything about Swift. Has anyone attempted to include Swift when deploying OpenStack with Orchestra and Juju? Charms for Swift do seem to exist (swift, swift-proxy, swift-storage), but I can't seem to find any documentation on how to use them...

share|improve this question
up vote 5 down vote accepted


Here's the short howto. I will look at adding an optional section to that Wiki that outlines this.

# branch charms
bzr branch lp:charm/swift-proxy
bzr branch lp:charm/swift-storage

# create a config yaml file for the storage charm. 
# the block-device setting needs to point to a block
# device that exists on *all* storage nodes, to be formated
# mounted and used as a backing store for objects
echo <<END >swift-storage.yaml
  block-device: xvda2

# deploy proxy
juju deploy --repository=$REPO local:swift-proxy
# deploy storage 
juju deploy --config=swift-storage.yaml --repo=$REPO local:swift-storage
# add the relation
juju add-relation swift-proxy:swift-proxy swift-storage:swift-proxy
# add 2 more units to give us the minimum 3 required nodes
juju add-unit swift-storage
juju add-unit swift-storage

This should give you a functional cluster that maintains 3 replicas of each object. It can be used as its own, separate cluster or you can tie it into the rest of your Openstack cloud to be used as the backend store for your VM images:

juju add-relation glance:object-store swift-proxy:object-store

You can test this out using the EC2 provider if you don't have 4 extra servers laying around.

A couple of notes:

  • The current swift charms were more of a proof-of-concept and aren't really designed to allow the storage nodes to scale up and down very well.
  • You'll need 4 nodes total to deploy this (1 proxy, 3 storage)
  • The current charms make use of a deprecated, fake authentication system called tempauth. With Keystone added as a core Openstack component, swift should be using this for authentication/authorization (Keystone charm coming soon)
  • There are some work items this cycle to expand/rewrite the swift charms to allow scaling, authenticating against keystone, and taking advantage of yet-to-land Juju features that allow intelligent machine selection and placement of charms.
share|improve this answer
Thanks adam_g, very helpful. I haven't had a chance to execute your how-to, but I'm marking this as answered anyway because it clearly explains that a lot of work is going into the OpenStack Juju charms for the next LTS release of Ubuntu. I'll comment again on my experience(s) once I have a chance to actually try this out. – Bryan Dec 16 '11 at 14:42

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.