diff --git a/zuul.d/ceph.yaml b/zuul.d/devstack-tobiko-ceph.yaml similarity index 55% rename from zuul.d/ceph.yaml rename to zuul.d/devstack-tobiko-ceph.yaml index 503674a..aa54b28 100644 --- a/zuul.d/ceph.yaml +++ b/zuul.d/devstack-tobiko-ceph.yaml @@ -1,11 +1,27 @@ --- -- job: &CEPH_BASE +- project-template: + name: devstack-tobiko-ceph + description: | + DevStack jobs intended to gate Tobiko project changes + check: + jobs: + - devstack-tobiko-ceph + periodic: + jobs: + - devstack-tobiko-ceph + - devstack-tobiko-ceph-centos + - devstack-tobiko-ceph-fedora + + +# --- STANDALONE ------------------------------------------------------------- + +- job: name: devstack-tobiko-ceph parent: devstack-tobiko - abstract: true required-projects: - openstack/devstack-plugin-ceph + voting: false vars: devstack_plugins: devstack-plugin-ceph: @@ -18,21 +34,14 @@ ENABLE_FILE_INJECTION: false ENABLE_VOLUME_MULTIATTACH: false - -# --- Gate ------------------------------------------------------------------- - - job: - <<: *CEPH_BASE - name: devstack-tobiko-gate-ceph - parent: devstack-tobiko-gate - abstract: false - description: | - Tobiko devstack job used to gate with OVS and Ceph - voting: true - - -- job: - name: devstack-tobiko-gate-ceph-centos - parent: devstack-tobiko-gate-ceph + name: devstack-tobiko-ceph-centos + parent: devstack-tobiko-ceph nodeset: devstack-tobiko-centos voting: false + +- job: + name: devstack-tobiko-ceph-fedora + parent: devstack-tobiko-ceph + nodeset: devstack-tobiko-fedora + voting: false diff --git a/zuul.d/devstack-tobiko-faults.yaml b/zuul.d/devstack-tobiko-faults.yaml new file mode 100644 index 0000000..5dfdb26 --- /dev/null +++ b/zuul.d/devstack-tobiko-faults.yaml @@ -0,0 +1,73 @@ +--- + +- project-template: + name: devstack-tobiko-faults + description: | + DevStack jobs intended to gate OpenStack project changes + check: + jobs: + - devstack-tobiko-faults + periodic: + jobs: + - devstack-tobiko-faults + - devstack-tobiko-faults-centos + - devstack-tobiko-faults-fedora + - devstack-tobiko-ovs-faults + - devstack-tobiko-ovs-faults-centos + - devstack-tobiko-ovs-faults-fedora + + +# --- DEFAULT ---------------------------------------------------------------- + +- job: + name: devstack-tobiko-faults + parent: devstack-tobiko-multinode + voting: false + description: | + Base Tobiko devstack job to execute scenario+faults+scenario test cases. + vars: &FAULTS_VARS + test_workflow: faults + irrelevant-files: &FAULTS_IRRELEVANT_FILES + - ^.*\.rst$ + - ^doc/ + - ^infrared_plugin/ + - ^releasenotes/ + - ^report/ + - ^tobiko/tests/functional/ + - ^tobiko/tests/unit/ + +- job: + name: devstack-tobiko-faults-centos + parent: devstack-tobiko-faults + nodeset: devstack-tobiko-multinode-centos + voting: false + +- job: + name: devstack-tobiko-faults-fedora + parent: devstack-tobiko-faults + nodeset: devstack-tobiko-multinode-fedora + voting: false + + +# --- OVS jobs---------------------------------------------------------------- + +- job: + name: devstack-tobiko-ovs-faults + parent: devstack-tobiko-ovs + voting: false + description: | + Base Tobiko devstack job to execute scenario+faults+scenario test cases. + vars: *FAULTS_VARS + irrelevant-files: *FAULTS_IRRELEVANT_FILES + +- job: + name: devstack-tobiko-ovs-faults-centos + parent: devstack-tobiko-ovs-faults + nodeset: devstack-tobiko-multinode-fedora + voting: false + +- job: + name: devstack-tobiko-ovs-faults-fedora + parent: devstack-tobiko-ovs-faults + nodeset: devstack-tobiko-multinode-fedora + voting: false diff --git a/zuul.d/octavia.yaml b/zuul.d/devstack-tobiko-octavia.yaml similarity index 66% rename from zuul.d/octavia.yaml rename to zuul.d/devstack-tobiko-octavia.yaml index 174bb1e..a34a286 100644 --- a/zuul.d/octavia.yaml +++ b/zuul.d/devstack-tobiko-octavia.yaml @@ -1,15 +1,31 @@ --- -- job: &OCTAVIA_BASE +- project-template: + name: devstack-tobiko-octavia + description: | + DevStack jobs intended to gate Tobiko project changes + check: + jobs: + - devstack-tobiko-octavia + periodic: + jobs: + - devstack-tobiko-octavia + - devstack-tobiko-octavia-centos + - devstack-tobiko-octavia-fedora + + +# --- STANDALONE ------------------------------------------------------------- + +- job: name: devstack-tobiko-octavia parent: devstack-tobiko - abstract: true required-projects: - openstack/diskimage-builder - openstack/octavia - openstack/octavia-lib - openstack/python-barbicanclient - openstack/tripleo-image-elements + voting: false vars: devstack_plugins: octavia: https://opendev.org/openstack/octavia.git @@ -42,21 +58,14 @@ '/var/log/octavia-tenant-traffic.log': logs '/var/log/octavia-amphora.log': logs - -# --- Gate ------------------------------------------------------------------- - - job: - <<: *OCTAVIA_BASE - name: devstack-tobiko-gate-octavia - parent: devstack-tobiko-gate - abstract: false - description: | - Tobiko devstack job used to gate with OVS and Octavia - voting: true - - -- job: - name: devstack-tobiko-gate-octavia-centos - parent: devstack-tobiko-gate-octavia + name: devstack-tobiko-octavia-centos + parent: devstack-tobiko-octavia nodeset: devstack-tobiko-centos voting: false + +- job: + name: devstack-tobiko-octavia-fedora + parent: devstack-tobiko-octavia + nodeset: devstack-tobiko-fedora + voting: false diff --git a/zuul.d/ovn.yaml b/zuul.d/devstack-tobiko-ovs.yaml similarity index 75% rename from zuul.d/ovn.yaml rename to zuul.d/devstack-tobiko-ovs.yaml index 85f65a1..14c54f8 100644 --- a/zuul.d/ovn.yaml +++ b/zuul.d/devstack-tobiko-ovs.yaml @@ -1,12 +1,31 @@ --- +- project-template: + name: devstack-tobiko-ovs + description: | + DevStack jobs intended to gate Tobiko project changes + check: + jobs: + - devstack-tobiko-ovs + periodic: + jobs: + - devstack-tobiko-ovs + - devstack-tobiko-ovs-centos + - devstack-tobiko-ovs-fedora + - devstack-tobiko-multinode-ovs + - devstack-tobiko-multinode-ovs-centos + - devstack-tobiko-multinode-ovs-fedora + + +# --- STANDALONE ------------------------------------------------------------- + - job: name: devstack-tobiko-ovs parent: devstack-tobiko - abstract: true description: | Base Tobiko devstack job to be used with ML2/OVS. - vars: &ovs_base + voting: false + vars: &OVS_VARS # TODO(fressi): restore name servers list as soon external connectivity # is fixed ipv4_dns_nameservers: [] @@ -58,21 +77,34 @@ s-object: false s-proxy: false tls-proxy: true - devstack_plugins: neutron: "https://opendev.org/openstack/neutron" +- job: + name: devstack-tobiko-ovs-centos + parent: devstack-tobiko-ovs + nodeset: devstack-tobiko-centos + voting: false + +- job: + name: devstack-tobiko-ovs-fedora + parent: devstack-tobiko-ovs + nodeset: devstack-tobiko-fedora + voting: false + + +# --- MULTINODE -------------------------------------------------------------- + - job: name: devstack-tobiko-multinode-ovs parent: devstack-tobiko-multinode - abstract: true description: Base DevStack Tobiko job with multinode. - vars: &ovs_multinode_vars - <<: *ovs_base + voting: false + vars: + <<: *OVS_VARS extensions_to_txt: db: true - - group-vars: &ovs_multinode_group_vars + group-vars: subnode: devstack_services: c-vol: true @@ -94,40 +126,14 @@ q-ovn-metadata-agent: false tls-proxy: false - -# --- Gate ------------------------------------------------------------------- - - job: - name: devstack-tobiko-gate-ovs - parent: devstack-tobiko-gate - description: | - Tobiko devstack job used to gate with OVS - voting: true - vars: - <<: *ovs_base - - -- job: - name: devstack-tobiko-gate-ovs-centos - parent: devstack-tobiko-gate-ovs - nodeset: devstack-tobiko-centos - voting: false - - -# --- Faults ----------------------------------------------------------------- - -- job: - name: devstack-tobiko-faults-ovs - parent: devstack-tobiko-faults - abstract: true - vars: - <<: *ovs_multinode_vars - group-vars: - <<: *ovs_multinode_group_vars - - -- job: - name: devstack-tobiko-faults-ovs-centos - parent: devstack-tobiko-faults-ovs + name: devstack-tobiko-multinode-ovs-centos + parent: devstack-tobiko-multinode-ovs nodeset: devstack-tobiko-multinode-centos voting: false + +- job: + name: devstack-tobiko-multinode-ovs-fedora + parent: devstack-tobiko-multinode-ovs + nodeset: devstack-tobiko-multinode-fedora + voting: false diff --git a/zuul.d/jobs.yaml b/zuul.d/devstack-tobiko.yaml similarity index 85% rename from zuul.d/jobs.yaml rename to zuul.d/devstack-tobiko.yaml index 81a02a7..d3d72f6 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/devstack-tobiko.yaml @@ -1,9 +1,42 @@ --- +- project-template: + name: devstack-tobiko + description: | + DevStack jobs intended to gate Tobiko project changes + check: &CHECK + jobs: + - devstack-tobiko + - devstack-tobiko-multinode + gate: &GATE + jobs: + - devstack-tobiko + periodic: &PERIODIC + jobs: + - devstack-tobiko + - devstack-tobiko-centos + - devstack-tobiko-fedora + - devstack-tobiko-multinode + - devstack-tobiko-multinode-centos + - devstack-tobiko-multinode-fedora + + +- project-template: + name: devstack-tobiko-gate + description: | + DevStack jobs intended to gate Tobiko project changes + check: *CHECK + gate: *GATE + periodic: *PERIODIC + + +# --- STANDALONE ------------------------------------------------------------- + - job: name: devstack-tobiko parent: devstack - abstract: true + nodeset: devstack-tobiko + voting: true description: | Base Devstack Tobiko Plugin job. @@ -93,10 +126,10 @@ yml: true test_log_debug: true test_case_timeout: 1800 + test_workflow: gate requirements_dir: >- {{ ansible_user_dir }}/src/opendev.org/openstack/requirements upper_constraints_file: '{{ requirements_dir }}/upper-constraints.txt' - pre-run: playbooks/devstack/pre.yaml run: playbooks/devstack/run.yaml post-run: playbooks/devstack/post.yaml @@ -106,44 +139,27 @@ - ^infrared_plugin/ - ^releasenotes/ - ^report/ - - ^tobiko/tests/unit/ - - -- job: &DEVSTACK_TOBIKO_GATE_JOB - name: devstack-tobiko-gate - parent: devstack-tobiko - description: | - Tobiko devstack job for gating Tobiko changes. - nodeset: openstack-single-node-focal - voting: true - vars: - test_workflow: gate - irrelevant-files: - - ^.*\.rst$ - - ^doc/ - - ^infrared_plugin/ - - ^releasenotes/ - - ^report/ - - job: - name: devstack-tobiko-gate-centos - parent: devstack-tobiko-gate + name: devstack-tobiko-centos + parent: devstack-tobiko nodeset: devstack-tobiko-centos voting: false - - job: - name: devstack-tobiko-gate-fedora - parent: devstack-tobiko-gate + name: devstack-tobiko-fedora + parent: devstack-tobiko nodeset: devstack-tobiko-fedora voting: false +# --- MULTINODE -------------------------------------------------------------- + - job: name: devstack-tobiko-multinode parent: devstack-tobiko - abstract: true + nodeset: devstack-tobiko-multinode + voting: false description: Base DevStack Tobiko job with multinode. pre-run: playbooks/multinode-setup.yaml vars: @@ -217,38 +233,14 @@ memory_tracker: false tls-proxy: false - - job: - <<: *DEVSTACK_TOBIKO_GATE_JOB - name: devstack-tobiko-gate-multinode + name: devstack-tobiko-multinode-centos parent: devstack-tobiko-multinode - description: | - Tobiko devstack job for gating Tobiko changes. - nodeset: devstack-tobiko-multinode-ubuntu - voting: true - - -- job: - name: devstack-tobiko-faults - parent: devstack-tobiko-multinode - nodeset: devstack-tobiko-multinode-ubuntu - voting: true - description: | - Base Tobiko devstack job to execute scenario+faults+scenario test cases. - vars: - test_workflow: faults - irrelevant-files: - - ^.*\.rst$ - - ^doc/ - - ^infrared_plugin/ - - ^releasenotes/ - - ^report/ - - ^tobiko/tests/functional/ - - ^tobiko/tests/unit/ - - -- job: - name: devstack-tobiko-faults-centos - parent: devstack-tobiko-faults nodeset: devstack-tobiko-multinode-centos voting: false + +- job: + name: devstack-tobiko-multinode-fedora + parent: devstack-tobiko-multinode + nodeset: devstack-tobiko-multinode-fedora + voting: false diff --git a/zuul.d/nodesets.yaml b/zuul.d/nodesets.yaml index 95368ce..8a3b5fe 100644 --- a/zuul.d/nodesets.yaml +++ b/zuul.d/nodesets.yaml @@ -1,26 +1,65 @@ --- +- nodeset: + name: devstack-tobiko + nodes: + - name: controller + label: ubuntu-focal + groups: &STANDALONE_GROUPS + - name: tempest + nodes: + - controller + - nodeset: name: devstack-tobiko-centos nodes: - name: controller label: centos-8-stream - groups: - - name: tempest - nodes: - - controller - + groups: *STANDALONE_GROUPS - nodeset: name: devstack-tobiko-fedora nodes: - name: controller label: fedora-32 - groups: + groups: *STANDALONE_GROUPS + + +# --- MULTINODE -------------------------------------------------------------- + +- nodeset: + name: devstack-tobiko-multinode + nodes: + - name: controller + label: ubuntu-focal + - name: compute1 + label: ubuntu-focal + - name: compute2 + label: ubuntu-focal + groups: &MULTINODE_GROUPS + # Node where tests are executed and test results collected - name: tempest nodes: - controller - + # Nodes running the compute service + - name: compute + nodes: + - compute1 + - compute2 + # Nodes that are not the controller + - name: subnode + nodes: + - compute1 + - compute2 + # Switch node for multinode networking setup + - name: switch + nodes: + - controller + # Peer nodes for multinode networking setup + - name: peers + nodes: + - compute1 + - compute2 - nodeset: name: devstack-tobiko-multinode-centos @@ -31,64 +70,15 @@ label: centos-8-stream - name: compute2 label: centos-8-stream - - groups: - # Node where tests are executed and test results collected - - name: tempest - nodes: - - controller - # Nodes running the compute service - - name: compute - nodes: - - compute1 - - compute2 - # Nodes that are not the controller - - name: subnode - nodes: - - compute1 - - compute2 - # Switch node for multinode networking setup - - name: switch - nodes: - - controller - # Peer nodes for multinode networking setup - - name: peers - nodes: - - compute1 - - compute2 - + groups: *MULTINODE_GROUPS - nodeset: - name: devstack-tobiko-multinode-ubuntu + name: devstack-tobiko-multinode-fedora nodes: - name: controller - label: ubuntu-focal + label: centos-8-stream - name: compute1 - label: ubuntu-focal + label: centos-8-stream - name: compute2 - label: ubuntu-focal - - groups: - # Node where tests are executed and test results collected - - name: tempest - nodes: - - controller - # Nodes running the compute service - - name: compute - nodes: - - compute1 - - compute2 - # Nodes that are not the controller - - name: subnode - nodes: - - compute1 - - compute2 - # Switch node for multinode networking setup - - name: switch - nodes: - - controller - # Peer nodes for multinode networking setup - - name: peers - nodes: - - compute1 - - compute2 + label: centos-8-stream + groups: *MULTINODE_GROUPS diff --git a/zuul.d/project-templates.yaml b/zuul.d/project-templates.yaml deleted file mode 100644 index 8ee6eb0..0000000 --- a/zuul.d/project-templates.yaml +++ /dev/null @@ -1,35 +0,0 @@ ---- - -- project-template: - name: devstack-tobiko-gate - description: | - DevStack jobs intended to gate Tobiko project changes - - check: &gate_check_pipeline - jobs: - - devstack-tobiko-gate - - devstack-tobiko-gate-ceph - - devstack-tobiko-gate-multinode - - devstack-tobiko-gate-octavia - - devstack-tobiko-gate-ovs - - gate: *gate_check_pipeline - - periodic: *gate_check_pipeline - - -- project-template: - name: devstack-tobiko-faults - description: | - DevStack jobs intended to gate OpenStack project changes - - check: &faults_check_pipeline - jobs: - - devstack-tobiko-faults - - devstack-tobiko-faults-centos - - gate: - jobs: - - devstack-tobiko-faults - - periodic: *faults_check_pipeline diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 5a8171e..297f735 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -1,19 +1,10 @@ --- - project: - templates: - ansible-role-jobs - - devstack-tobiko-gate + - devstack-tobiko + - devstack-tobiko-ceph - devstack-tobiko-faults - - check: &check_pipeline - jobs: - - devstack-tobiko-gate-centos - - devstack-tobiko-gate-fedora - - devstack-tobiko-gate-octavia-centos - - devstack-tobiko-gate-ceph-centos - - devstack-tobiko-gate-ovs-centos - - devstack-tobiko-faults-ovs-centos - - periodic: *check_pipeline + - devstack-tobiko-octavia + - devstack-tobiko-ovs