Apache CloudStack supports the usage of S3 and Swift object stores to backup the contents of NFS secondary storage – providing region-wide availability of secondary storage assets. This document provides instructions for rapidly provisioning S3 and Swift environments to support development and testing of this capability.

N.B. These environments are intended for functional testing only. Performance/load testing should be performed in environments that conform to vendor-specified guidelines (typically multiple bare metal servers).


In order to achieve operational repeatability and environmental consistency, Vagrant is employed to provision and build local virtual machines on the VirtualBox hypervisor. All Vagrant configurations are acquired via git. Therefore, ensure that the Vagrant, Virtualbox, and git are properly installed and configured before attempting to create the environments described in this document.

Riak CS (S3-compatible)

Riak CS is an open source object storage system that provides an S3 compatible API. The following steps will create a local Riak CS virtual machine on Ubuntu 12.04.2:

  1. git clone
  2. cd vagrant-riak-cs-cluster && git checkout v2.0.0
  3. RIAK_CS_CREATE_ADMIN_USER=1 vagrant up => make a note of the access key and secret key at the end of the Vagrant log

Following completion of these steps, Riak CS will be available @

OpenStack Swift

OpenStack Swift is OpenStack's open source object storage system. The OpenStack community provides Devstack infrastructure to created local OpenStack environments. A pending patch wraps Vagrant around this mechanism to quickly create local virtual machines with it. Finally, by default, Devstack does not enable Swift. The following steps will create a local Devstack virtual machine that includes a Swift instance:

  1. git clone
  2. cd devstack
  3. Create a file name "vagrant-overrides.conf" that contains the following:
  4. vagrant up

    A Vagrant Devstack provision downloads roughly 300 MB of data. Dependent on available bandwidth, this step may take a long time to complete.

Following completion of these steps, Swift will be available on and can be validated through the Horizon interface available at

  • No labels