To run the upstream Swift functional tests against a Swift cluster deployed with TripleO, follow the steps below:
Setup necessary keystone users
Initially the admin user is already setup, the functional tests requires two mores users: one user on the same account (project) as the admin
user, but with a user
role and another user in different account, but with admin
role. Did that confuse you yet? this should help:
From the undercloud, run:
source overcloudrc
openstack project create --description "Bob Project" bob
openstack user create --password bobpwd bob
openstack role add --project bob --user bob admin
openstack role create user
openstack user create --password jimpwd jim
openstack role add --project admin --user jim user
Configure Swift to run functional tests
Now you will need to checkout the Swift source code (you will noticed that I also checkout a stable branch, so make sure to checkout the correct code for your use-case) and configure the functional test configuration file to target the overcloud deployment.
From the undercloud, run:
git clone https://github.com/openstack/swift.git
git checkout -b newton origin/stable/newton
cd swift
cp test/sample.conf test.conf
export SWIFT_TEST_CONFIG_FILE=/home/stack/swift/test.conf
Now let’s modify test.conf to add the keystone user information, open test.conf with your favorite editor and edit the information like below:
## sample config for Swift with Keystone v2 API
# For keystone v2 change auth_version to 2 and auth_prefix to /v2.0/
# And "allow_account_management" should not be set "true"
auth_version = 2
auth_host =
auth_port = 5000
auth_ssl = no
auth_prefix = /v2.0/
# Primary functional test account (needs admin access to the account)
account = admin
username = admin
password =
# User on a second account (needs admin access to the account)
account2 = bob
username2 = bob
password2 = bobpwd
# User on same account as first, but without admin access
username3 = jim
password3 = jimpwd
All set! now you should be able to run the Swift functional tests:
cd ~/swift
./.functest