fuel-ccp-rally/service/files/run-tempest.sh.j2

58 lines
1.9 KiB
Django/Jinja

#!/bin/bash
set -ex
function publish_artifacts {
local path="/var/lib/rally/{{ rally.tempest.static.path }}"
mkdir -p "${path}"
cp /var/lib/rally/tempest.log "${path}/tempest.log"
rally verify results --output-file "${path}/result.json"
rally verify results --html --output-file "${path}/result.html"
# TODO: add junit report
local private_key_path="private.key"
echo "{{ rally.tempest.static.private_key }}" > "${private_key_path}"
chmod 600 "${private_key_path}"
scp -i "${private_key_path}" "${path}" {{ rally.tempest.static.username }}@{{ rally.tempest.static.host }}:{{ rally.tempest.static.port }}:
echo "Artifacts are located to {{ rally.tempest.static.site }}/${path}"
}
# OS credentials
export OS_AUTH_URL={{ address("keystone", keystone.admin_port, with_scheme=True) }}
export OS_IDENTITY_API_VERSION=3
export OS_PASSWORD={{ openstack.user_password }}
export OS_PROJECT_DOMAIN_NAME=default
export OS_PROJECT_NAME={{ openstack.project_name }}
export OS_USERNAME={{ openstack.user_name }}
export OS_USER_DOMAIN_NAME=default
function prepare_tempest_conf {
local public_network_id="$(openstack network show {{ neutron.bootstrap.external.net_name }} -f value -c id)"
cat <<EOF >> /var/lib/rally/tempest.conf
[network]
floating_network_name = {{ neutron.bootstrap.external.net_name }}
public_network_id = $public_network_id
EOF
}
rally-manage db create
rally deployment create --fromenv --name=tempest
rally verify install --source /var/lib/rally/tempest
prepare_tempest_conf
rally verify genconfig --override --add-options /var/lib/rally/tempest.conf
rally verify showconfig
os_release="{{ rally.tempest.openstack_release }}"
rally verify start --skip-list "/var/lib/rally/${os_release}-skip-list.list"
{% if rally.tempest.static.publish %}
publish_artifacts
{% endif %}
rally verify results | /var/lib/rally/check_status.py