No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin add multi-key support Aug 21, 2018
cookbooks/swift add multi-key support Aug 21, 2018
.gitignore optional undocumented support for isa-l Jan 23, 2017
.s3cfg Add s3api support by default Jul 12, 2018
LICENSE Add Apache 2.0 License Jan 30, 2015 Add s3api support by default Jul 12, 2018
localrc-template Add KMIP support to encryption Aug 15, 2018


A Swift-All-In-One in a few easy steps.

  1. vagrant up
  2. vagrant ssh
  3. echo "awesome" > test
  4. swift upload test test
  5. swift download test test -o -

This project assumes you have Virtualbox and Vagrant.


You should be able to run most tests without too much fuss once SSH'ed into the VM.

  1. .unittests
  2. .functests
  3. .probetests
  4. vtox -e pep8
  5. vtox -e py27
  6. vtox # run all gate checks


A few things are configurable, see localrc-template.

  1. cp localrc-template localrc
  2. vi localrc
  3. source localrc
  4. vagrant provision
  5. vagrant ssh
  6. rebuildswift


You know you want to play with s3api, we got you covered.

vagrant ssh
s3cmd mb s3://s3test
s3cmd ls


You should add the configured IP from your localrc to your /etc/hosts or use the default:

sudo bash -c 'echo "    saio" >> /etc/hosts'

Then you can easily share snippets that talk to network services running in your Swift-All-In-One from your host!

curl -s http://saio:8080/info | python -m json.tool

A few scripts are available to make your dev life easier.

  1. vagrant up --provision will bring up your VM in working order (useful when your VM is halted)
  2. source localrc; vagrant provision on your host to push the new Chef bits in place (useful if you change localrc)
  3. rebuildswift to reapply everything like it would be at the end of Chef time (useful to revert local config changes)
  4. resetswift will wipe the drives and leave any local config changes in place (useful just to clean out Swift data)
  5. reinstallswift will make sure all of the bin scripts are installed correctly and restart the main swift processes (useful if you change branches)
  6. autodoc [swift|swift-specs|swiftclient] will build the sphinx docs and watch files for changes, and upload them to a public container on your vm so you can review them as you edit
  7. vtox will hack the local tox.ini and so you can run tox tests successfully on the swift repo in the /vagrant directory
  8. reec will rebuild/reinstall all the liberasure/pyeclib[/isa-l] bits!