Add tempest-cleanup ansible role

The patch adds a new ansible role called tempest-cleanup which will
allow us to test tempest cleanup in the gate jobs.

Change-Id: I2cef2da6fee13e622da07b890da88850fe420152
This commit is contained in:
Martin Kopec 2019-12-12 00:20:41 +00:00
parent e8f1876aa6
commit f62dbc1c22
5 changed files with 108 additions and 5 deletions

View File

@ -154,8 +154,11 @@
Base integration test with Neutron networking. Base integration test with Neutron networking.
It includes all scenarios as it was in the past. It includes all scenarios as it was in the past.
This job runs all scenario tests in parallel! This job runs all scenario tests in parallel!
timeout: 9000
vars: vars:
tox_envlist: full-parallel tox_envlist: full-parallel
run_tempest_cleanup: true
run_tempest_dry_cleanup: true
devstack_localrc: devstack_localrc:
USE_PYTHON3: True USE_PYTHON3: True

View File

@ -12,8 +12,41 @@
# job provided by the gabbi-tempest plugin. It can be safely ignored # job provided by the gabbi-tempest plugin. It can be safely ignored
# if that plugin is not being used. # if that plugin is not being used.
GABBI_TEMPEST_PATH: "{{ gabbi_tempest_path | default('') }}" GABBI_TEMPEST_PATH: "{{ gabbi_tempest_path | default('') }}"
roles: tasks:
- setup-tempest-run-dir - name: Setup Tempest Run Directory
- setup-tempest-data-dir include_role:
- acl-devstack-files name: setup-tempest-run-dir
- run-tempest
- name: Setup Tempest Data Directory
include_role:
name: setup-tempest-data-dir
- name: ACL devstack files
include_role:
name: acl-devstack-files
- name: Run tempest cleanup init-saved-state
include_role:
name: tempest-cleanup
vars:
init_saved_state: true
when:
- run_tempest_dry_cleanup is defined
- run_tempest_cleanup is defined
- name: Run Tempest
include_role:
name: run-tempest
- name: Run tempest cleanup dry-run
include_role:
name: tempest-cleanup
vars:
dry_run: true
when:
- run_tempest_dry_cleanup is defined
- name: Run tempest cleanup
include_role:
name: tempest-cleanup
when: run_tempest_cleanup is defined

View File

@ -0,0 +1,33 @@
Tempest cleanup
===============
Documentation regarding tempest cleanup can be found at the following
link:
https://docs.openstack.org/tempest/latest/cleanup.html
When init_saved_state and dry_run variables are set to false, the role
execution will run tempest cleanup which deletes resources not present in the
saved_state.json file.
**Role Variables**
.. zuul:rolevar:: devstack_base_dir
:default: /opt/stack
The devstack base directory.
.. zuul:rolevar:: init_saved_state
:default: false
When true, tempest cleanup --init-saved-state will be executed which
initializes the saved state of the OpenStack deployment and will output
a saved_state.json file containing resources from the deployment that will
be preserved from the cleanup command. This should be done prior to running
Tempest tests.
.. zuul:rolevar:: dry_run
:default: false
When true, tempest cleanup creates a report (./dry_run.json) of the
resources that would be cleaned up if the role was ran with dry_run option
set to false.

View File

@ -0,0 +1,3 @@
devstack_base_dir: /opt/stack
init_saved_state: false
dry_run: false

View File

@ -0,0 +1,31 @@
- when: init_saved_state
block:
- name: Run tempest cleanup init-saved-state
become: yes
become_user: tempest
command: tox -evenv-tempest -- tempest cleanup --init-saved-state
args:
chdir: "{{ devstack_base_dir }}/tempest"
- name: Cat saved_state.json
command: cat "{{ devstack_base_dir }}/tempest/saved_state.json"
- when: dry_run
block:
- name: Run tempest cleanup dry-run
become: yes
become_user: tempest
command: tox -evenv-tempest -- tempest cleanup --dry-run
args:
chdir: "{{ devstack_base_dir }}/tempest"
- name: Cat dry_run.json
command: cat "{{ devstack_base_dir }}/tempest/dry_run.json"
- name: Run tempest cleanup
become: yes
become_user: tempest
command: tox -evenv-tempest -- tempest cleanup
args:
chdir: "{{ devstack_base_dir }}/tempest"
when: not dry_run and not init_saved_state