An Ansible playbook for provisioning a Swift and Swift-on-File all-in-one development environment on CentOS.
The CentOS 7 image being used by default does not have the VirtualBox Guest Additions preinstalled. Install the vagrant-vbguest plugin to have it installed on your guest VM automatically.
vagrant plugin install vagrant-vbguest
To provision the VM, run:
vagrant up --provider=virtualbox
To run automated tests:
vagrant ssh
cd /vagrant/source/swift
./.unittests
./.functests
To quickly test installation:
swift stat
echo 'hello world' > hw
swift upload c1 hw
swift list
To test installation with Swift-on-File (Note: make sure to have Swift-on-File provisioned):
swift post c2 -H 'X-Storage-Policy: swiftonfile'
echo 'hello swiftonfile' > hs
swift upload c2 hs
swift list
ls /mnt/swiftonfile
You can set a few options to change how the VM is provisioned. In global_vars.yml
, you can set if you want Swift-on-File configured or not and what storage policy should be set as the default.
To test the hummingbird branch; in global_vars.yml
, set configure_hummingbird
to yes
before running vagrant up
. Once vagrant is done provisioning, run the following:
vagrant ssh
cd go_work/src/github.com/openstack/swift/go
make get test all
startmain
swift upload c1 hw
swift list
In case you would like to use the provisioned VM as your development environment, Ansible can add gerrit as a remote repo to both Swift and Swift-on-File. Checkout the options in global_vars.yml
In case you already have a VM created and just wants to execute the Ansible playbook, run the following command:
ansible-playbook site.yml -i "192.168.56.103," --ask-sudo-pass
- Make sure to update to the correct IP address on the command above (it's important to keep the comma ',' at the end) and the
username
andgroup
variables inglobal_vars.yml
- If testing on RHEL/CentOS, enable EPEL repository first.
- Add gluster volume