diff --git a/.zuul.yaml b/.zuul.yaml index 04d60feefc..f4cee60677 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,7 +1,13 @@ - job: name: devstack-tempest parent: devstack - description: Base Tempest job. + nodeset: openstack-single-node + description: | + Base Tempest job. + + This Tempest job provides the base for both the single and multi-node + test setup. To run a multi-node test inherit from devstack-tempest and + set the nodeset to a multi-node one. required-projects: - openstack/tempest timeout: 7200 @@ -10,6 +16,11 @@ vars: devstack_services: tempest: true + devstack_local_conf: + test-config: + $TEMPEST_CONFIG: + compute: + min_compute_nodes: "{{ groups['compute'] | default(['controller']) | length }}" test_results_stage_name: 'test_results' zuul_copy_output: '{{ devstack_base_dir }}/tempest/etc/tempest.conf': 'logs' @@ -81,6 +92,36 @@ # without Swift, c-bak cannot run (in the Gate at least) c-bak: false +- job: + name: tempest-multinode-full + parent: devstack-tempest + nodeset: openstack-two-node + # Until the devstack changes are backported, only run this on master + branches: + - master + description: | + Base multinode integration test with Neutron networking and py27. + Former names for this job where: + * neutron-tempest-multinode-full + * legacy-tempest-dsvm-neutron-multinode-full + * gate-tempest-dsvm-neutron-multinode-full-ubuntu-xenial-nv + This job includes two nodes, controller / tempest plus a subnode, but + it can be used with different topologies, as long as a controller node + and a tempest one exist. + vars: + tox_envlist: full + devstack_localrc: + FORCE_CONFIG_DRIVE: False + NOVA_ALLOW_MOVE_TO_SAME_HOST: false + LIVE_MIGRATION_AVAILABLE: true + USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION: true + group-vars: + peers: + devstack_localrc: + NOVA_ALLOW_MOVE_TO_SAME_HOST: false + LIVE_MIGRATION_AVAILABLE: true + USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION: true + - nodeset: name: openstack-bionic-node nodes: @@ -258,6 +299,16 @@ - ^setup.cfg$ - ^tempest/hacking/.*$ - ^tempest/tests/.*$ + - tempest-multinode-full: + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ - tempest-tox-plugin-sanity-check gate: jobs: diff --git a/playbooks/devstack-tempest.yaml b/playbooks/devstack-tempest.yaml index a684984432..01155a82c9 100644 --- a/playbooks/devstack-tempest.yaml +++ b/playbooks/devstack-tempest.yaml @@ -3,7 +3,7 @@ # avoid zuul retrying on legitimate failures. - hosts: all roles: - - run-devstack + - orchestrate-devstack # We run tests only on one node, regardless how many nodes are in the system - hosts: tempest diff --git a/playbooks/post-tempest.yaml b/playbooks/post-tempest.yaml index 4dde2c9a74..6e0bcadc03 100644 --- a/playbooks/post-tempest.yaml +++ b/playbooks/post-tempest.yaml @@ -1,4 +1,4 @@ -- hosts: all +- hosts: tempest become: true roles: - role: fetch-subunit-output