Chandan Kumar e1744ea1e4 Generate tempest.conf automatically using refstack-client
Usage: $ refstack-client config --use-test-accounts <path to test
         accounts file>

If not accounts.yaml is passed then:
  $ refstack-client config
  It will generate accounts.yaml and tempest.conf in etc folder

* It adds support for the above command
* Added zuul based devstack job to run the same
* let setup_env handles the installation of tempestconf
* updated git url for tempest
* It also generates accounts.yaml if no account file is
  passed
* we can --overrides flag to overrides the tempest.conf
  value.
* volume-feature-enabled.api_v2=True is added as default
  in overrides as it is deprecated in Rocky cycle but needed
  for interop tests.

Depends-On: https://review.openstack.org/589260
Story: 2001696
Task: 19758

Change-Id: I9cabfc52672e7a8a54792ca9d867c62babf12cb7
2018-08-13 19:59:53 +05:30

50 lines
1.7 KiB
YAML

- block:
- name: Install refstack-client and python-tempestconf
shell: |
set -ex
export PATH=$PATH:/usr/local/sbin:/usr/sbin
./setup_env
args:
chdir: "{{ refstack_client_src_relative_path }}"
executable: /bin/bash
- name: Print Tempest account file
shell: |
set -ex
cat /etc/openstack/accounts.yaml
- name: Generate tempest configuration file
shell: |
set -ex
export PATH=$PATH:/usr/local/sbin:/usr/sbin
source .venv/bin/activate
{{ source_credentials_commands }}
printenv
refstack-client config --use-test-accounts /etc/openstack/accounts.yaml \
--image http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img \
--out /tmp/tempest.conf
args:
chdir: "{{ refstack_client_src_relative_path }}"
executable: /bin/bash
- name: Print generated tempest.conf
shell: |
set -ex
cat /tmp/tempest.conf
- name: Run refstack-client tests
shell: |
set -ex
export PATH=$PATH:/usr/local/sbin:/usr/sbin
source .venv/bin/activate
printenv
refstack-client test -c /tmp/tempest.conf \
-v --test-list "https://refstack.openstack.org/api/v1/guidelines/2017.09/tests?target=platform&type=required&alias=true&flag=false"
args:
chdir: "{{ refstack_client_src_relative_path }}"
executable: /bin/bash
vars:
refstack_client_src_relative_path: "{{ zuul.projects['git.openstack.org/openstack/refstack-client'].src_dir }}"
tempestconf_src_relative_path: "{{ zuul.projects['git.openstack.org/openstack/python-tempestconf'].src_dir }}"