tempest/playbooks/devstack-tempest-ipv6.yaml

55 lines
2.1 KiB
YAML
Raw Normal View History

Setup framework for IPv6-only deployment verification Devstack IPv6 base job 'devstack-IPv6' setup the IPv6 setting to deploy the services to listen on IPv6 address. Tempest 'devstack-tempest-ipv6' job derived from 'devstack-IPv6' job adds the playbooks to run the tests. As part of Train community goal 'Support IPv6-Only Deployments', we will expand the 'devstack-tempest-ipv6' job to do IPv6-only deployments verification. This commit define the new roles of 'ipv6-only-deployments-verification' which will be invoked as part of run phase of 'devstack-tempest-ipv6' job. This role will do IPv6-only setting and deployments verification via tools/verify-ipv6-only-deployement.sh IPv6 verification script can be extended further to perform more checks and via project specific test case. Those tests will run as part of project specific child jobs. The 'devstack-tempest-ipv6' job will be used as parent for project specific IPv6-only job. Those child job can extend the project specific IPv6 verification by defining new playebook for post-run. That way the base verification done in 'devstack-tempest-ipv6' will still run in addition to project specific verificaiton and tests run. Verification structure will be: - 'devstack-IPv6' deploy the service on IPv6 - 'devstack-tempest-ipv6' run will verify the IPv6-only setting and listen address - Child jobs derived from 'devstack-tempest-ipv6' will run the IPv6 related test case or any further IPv6 deployment verification. This commit also adds the new job 'tempest-ipv6-only' which will run smoke and ipv6 related tests present in Tempest. This job will be used to run on 6 services (Nova, Neutron, Cinder, Keystone, Glance, Swift) deployed by devstack. Story: #2005477 Task: #35923 Change-Id: Ie1e5e5e02ee45ab7a4aae0f35bdb42afc2c3fe2e
2019-07-17 09:46:41 +00:00
# Changes that run through devstack-tempest-ipv6 are likely to have an impact on
# the devstack part of the job, so we keep devstack in the main play to
# avoid zuul retrying on legitimate failures.
- hosts: all
roles:
- orchestrate-devstack
# We run tests only on one node, regardless how many nodes are in the system
- hosts: tempest
roles:
- setup-tempest-run-dir
- setup-tempest-data-dir
- acl-devstack-files
# Verify the IPv6-only deployments. This role will perform check for
# IPv6 only env for example Devstack IPv6 settings and services listen
# address is IPv6 etc. This is invoked before tests are run so that we can
# fail early if anything missing the IPv6 settings or deployments.
- devstack-ipv6-only-deployments-verification
tasks:
- name: Run tempest cleanup init-saved-state
include_role:
name: tempest-cleanup
vars:
init_saved_state: true
when: (run_tempest_dry_cleanup is defined and run_tempest_dry_cleanup | bool) or
(run_tempest_cleanup is defined and run_tempest_cleanup | bool) or
(run_tempest_fail_if_leaked_resources is defined and run_tempest_fail_if_leaked_resources | bool) or
(run_tempest_cleanup_prefix is defined and run_tempest_cleanup_prefix | bool)
- name: Run Tempest version <= 26.0.0
include_role:
name: run-tempest-26
when:
- zuul.branch is defined
- zuul.branch in ["stable/ocata", "stable/pike", "stable/queens", "stable/rocky", "stable/stein"]
- name: Run Tempest
include_role:
name: run-tempest
when:
- zuul.branch is defined
- zuul.branch not in ["stable/ocata", "stable/pike", "stable/queens", "stable/rocky", "stable/stein"]
- name: Run tempest cleanup dry-run
include_role:
name: tempest-cleanup
vars:
dry_run: true
when: run_tempest_dry_cleanup is defined and run_tempest_dry_cleanup | bool
- name: Run tempest cleanup
include_role:
name: tempest-cleanup
when: run_tempest_cleanup is defined and run_tempest_cleanup | bool