From c37241a52ac67ab51b2eac85df832d737c3723f9 Mon Sep 17 00:00:00 2001 From: Chandan Kumar Date: Mon, 18 Sep 2023 14:46:05 +0530 Subject: [PATCH] Move all the base jobs to base.yaml Moving all the base jobs to a single file allow us to use anchors. Here irrelevant files always causes job freeze issue. Keeping base-jobs at one place allow us to manage irrelevant files easily. Signed-off-by: Chandan Kumar --- zuul.d/base.yaml | 221 +++++++++++++++++++++++++++++++++++ zuul.d/content_provider.yaml | 72 ------------ zuul.d/edpm.yaml | 52 --------- zuul.d/edpm_multinode.yaml | 113 ------------------ 4 files changed, 221 insertions(+), 237 deletions(-) create mode 100644 zuul.d/base.yaml diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml new file mode 100644 index 0000000000..5f13976e8e --- /dev/null +++ b/zuul.d/base.yaml @@ -0,0 +1,221 @@ +--- +# It contains all the base jobs definitions + +# +# CONTENT PROVIDER +# +- job: + name: openstack-k8s-operators-content-provider + parent: base-ci-framework + nodeset: centos-stream-9 + irrelevant-files: &ir_files + - .*/*.md + - ^.github/.*$ + - ^LICENSE$ + - ^OWNERS$ + - ^OWNERS_ALIASES$ + - ^PROJECT$ + - ^README.md$ + - ^renovate.json$ + - ^tests/.*$ + - ^kuttl-test.yaml$ + - molecule/.* + - molecule-requirements.txt + - .github/workflows + - docs/.* + - contribute/.* + - tests + - roles/.*/molecule/.* + # ci-framework + - .readthedocs.yaml + # Other openstack operators + - containers/ci + - .ci-operator.yaml + - .dockerignore + - .gitignore + - .golangci.yaml + - .pre-commit-config.yaml + # openstack-ansibleee-operator + - examples + - mkdocs.yml + required-projects: + - opendev.org/zuul/zuul-jobs + - openstack-k8s-operators/barbican-operator + - openstack-k8s-operators/ci-framework + - openstack-k8s-operators/cinder-operator + - openstack-k8s-operators/dataplane-operator + - openstack-k8s-operators/designate-operator + - openstack-k8s-operators/glance-operator + - openstack-k8s-operators/heat-operator + - openstack-k8s-operators/horizon-operator + - openstack-k8s-operators/infra-operator + - openstack-k8s-operators/install_yamls + - openstack-k8s-operators/ironic-operator + - openstack-k8s-operators/keystone-operator + - openstack-k8s-operators/manila-operator + - openstack-k8s-operators/mariadb-operator + - openstack-k8s-operators/neutron-operator + - openstack-k8s-operators/nova-operator + - openstack-k8s-operators/octavia-operator + - openstack-k8s-operators/openstack-ansibleee-operator + - openstack-k8s-operators/openstack-baremetal-operator + - openstack-k8s-operators/openstack-operator + - openstack-k8s-operators/ovn-operator + - openstack-k8s-operators/placement-operator + - openstack-k8s-operators/repo-setup + - openstack-k8s-operators/swift-operator + - openstack-k8s-operators/tcib + - openstack-k8s-operators/telemetry-operator + pre-run: + - ci/playbooks/content_provider/pre.yml + - ci/playbooks/e2e-prepare.yml + - ci/playbooks/dump_zuul_vars.yml + run: + - ci/playbooks/content_provider/run.yml + post-run: ci/playbooks/collect-logs.yml + vars: + cifmw_artifacts_basedir: "{{ cifmw_basedir | default(ansible_user_dir ~ '/ci-framework-data') }}" + + +# +# EDPM MULTINODE CI +# + +# Base job definition for multinode. Provide base layout with CRC on a dedicated +# nodeset, one compute and an ansible-controller. +# At the end, you get an env ready to run the first stages of the ci-framework. +# It also ensures post-run are common to all of the multinodes jobs we'll get +# in that file. +# In case you change the "nodeset" for your own job, please override +# crc_ci_bootstrap_networking using *extra-vars*. +- job: + name: cifmw-podified-multinode-edpm-base-crc + parent: base-extracted-crc + timeout: 10800 + attempts: 1 + nodeset: + nodes: + - name: controller + label: cloud-centos-9-stream-tripleo-vexxhost + - name: compute + label: cloud-centos-9-stream-tripleo-vexxhost + - name: crc + label: coreos-crc-extracted-xxl + irrelevant-files: *ir_files + required-projects: + - openstack-k8s-operators/ci-framework + - openstack-k8s-operators/dataplane-operator + - openstack-k8s-operators/install_yamls + - openstack-k8s-operators/infra-operator + - openstack-k8s-operators/openstack-baremetal-operator + - openstack-k8s-operators/openstack-operator + - openstack-k8s-operators/repo-setup + - openstack-k8s-operators/edpm-ansible + roles: + - zuul: github.com/openstack-k8s-operators/ci-framework + pre-run: + - ci/playbooks/multinode-customizations.yml + - ci/playbooks/e2e-prepare.yml + - ci/playbooks/dump_zuul_vars.yml + post-run: + - ci/playbooks/e2e-collect-logs.yml + - ci/playbooks/collect-logs.yml + vars: + zuul_log_collection: true + registry_login_enabled: true + push_registry: quay.rdoproject.org + quay_login_secret_name: quay_nextgen_zuulgithubci + cifmw_artifacts_crc_sshkey: "~/.ssh/id_ed25519" + cifmw_openshift_user: kubeadmin + cifmw_openshift_password: "123456789" + cifmw_openshift_api: api.crc.testing:6443 + cifmw_openshift_kubeconfig: "{{ ansible_user_dir }}/.crc/machines/crc/kubeconfig" + cifmw_openshift_skip_tls_verify: true + cifmw_use_libvirt: false + cifmw_zuul_target_host: controller + crc_ci_bootstrap_networking: + networks: + default: + mtu: 1500 + range: 192.168.122.0/24 + internal-api: + vlan: 20 + range: 172.17.0.0/24 + storage: + vlan: 21 + range: 172.18.0.0/24 + tenant: + vlan: 22 + range: 172.19.0.0/24 + instances: + controller: + networks: + default: + ip: 192.168.122.11 + crc: + networks: + default: + ip: 192.168.122.10 + internal-api: + ip: 172.17.0.5 + storage: + ip: 172.18.0.5 + tenant: + ip: 172.19.0.5 + compute: + networks: + default: + ip: 192.168.122.100 + internal-api: + ip: 172.17.0.100 + config_nm: false + storage: + ip: 172.18.0.100 + config_nm: false + tenant: + ip: 172.19.0.100 + config_nm: false + +# +# EDPM BASE Jobs +# +- job: + name: cifmw-base-crc + nodeset: centos-9-crc-3xl + timeout: 10800 + abstract: true + parent: base-simple-crc + vars: + crc_parameters: "--memory 22000 --disk-size 120 --cpus 10" + pre_pull_images: + - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 + +# Base job for openstack based job containing ci-framework bits +- job: + name: cifmw-base-crc-openstack + parent: cifmw-base-crc + timeout: 10800 + abstract: true + irrelevant-files: *ir_files + required-projects: + - openstack-k8s-operators/ci-framework + - openstack-k8s-operators/dataplane-operator + - openstack-k8s-operators/install_yamls + - openstack-k8s-operators/infra-operator + - openstack-k8s-operators/openstack-baremetal-operator + - openstack-k8s-operators/openstack-operator + - openstack-k8s-operators/repo-setup + - openstack-k8s-operators/edpm-ansible + roles: + - zuul: github.com/openstack-k8s-operators/ci-framework + pre-run: + - ci/playbooks/e2e-prepare.yml + - ci/playbooks/dump_zuul_vars.yml + post-run: + - ci/playbooks/e2e-collect-logs.yml + - ci/playbooks/collect-logs.yml + vars: + zuul_log_collection: true + registry_login_enabled: true + push_registry: quay.rdoproject.org + quay_login_secret_name: quay_nextgen_zuulgithubci diff --git a/zuul.d/content_provider.yaml b/zuul.d/content_provider.yaml index 4a1556d1f1..d4047a39cd 100644 --- a/zuul.d/content_provider.yaml +++ b/zuul.d/content_provider.yaml @@ -1,76 +1,4 @@ --- -- job: - name: openstack-k8s-operators-content-provider - parent: base-ci-framework - nodeset: centos-stream-9 - irrelevant-files: - - .*/*.md - - ^.github/.*$ - - ^LICENSE$ - - ^OWNERS$ - - ^OWNERS_ALIASES$ - - ^PROJECT$ - - ^README.md$ - - ^renovate.json$ - - ^tests/.*$ - - ^kuttl-test.yaml$ - - molecule/.* - - molecule-requirements.txt - - .github/workflows - - docs/.* - - contribute/.* - - tests - - roles/.*/molecule/.* - # ci-framework - - .readthedocs.yaml - # Other openstack operators - - containers/ci - - .ci-operator.yaml - - .dockerignore - - .gitignore - - .golangci.yaml - - .pre-commit-config.yaml - # openstack-ansibleee-operator - - examples - - mkdocs.yml - required-projects: - - opendev.org/zuul/zuul-jobs - - openstack-k8s-operators/barbican-operator - - openstack-k8s-operators/ci-framework - - openstack-k8s-operators/cinder-operator - - openstack-k8s-operators/dataplane-operator - - openstack-k8s-operators/designate-operator - - openstack-k8s-operators/glance-operator - - openstack-k8s-operators/heat-operator - - openstack-k8s-operators/horizon-operator - - openstack-k8s-operators/infra-operator - - openstack-k8s-operators/install_yamls - - openstack-k8s-operators/ironic-operator - - openstack-k8s-operators/keystone-operator - - openstack-k8s-operators/manila-operator - - openstack-k8s-operators/mariadb-operator - - openstack-k8s-operators/neutron-operator - - openstack-k8s-operators/nova-operator - - openstack-k8s-operators/octavia-operator - - openstack-k8s-operators/openstack-ansibleee-operator - - openstack-k8s-operators/openstack-baremetal-operator - - openstack-k8s-operators/openstack-operator - - openstack-k8s-operators/ovn-operator - - openstack-k8s-operators/placement-operator - - openstack-k8s-operators/repo-setup - - openstack-k8s-operators/swift-operator - - openstack-k8s-operators/tcib - - openstack-k8s-operators/telemetry-operator - pre-run: - - ci/playbooks/content_provider/pre.yml - - ci/playbooks/e2e-prepare.yml - - ci/playbooks/dump_zuul_vars.yml - run: - - ci/playbooks/content_provider/run.yml - post-run: ci/playbooks/collect-logs.yml - vars: - cifmw_artifacts_basedir: "{{ cifmw_basedir | default(ansible_user_dir ~ '/ci-framework-data') }}" - - job: name: content-provider-base parent: openstack-k8s-operators-content-provider diff --git a/zuul.d/edpm.yaml b/zuul.d/edpm.yaml index 49513fa977..03ebcefdc9 100644 --- a/zuul.d/edpm.yaml +++ b/zuul.d/edpm.yaml @@ -1,56 +1,4 @@ --- -# Base job for crc based job -- job: - name: cifmw-base-crc - nodeset: centos-9-crc-3xl - timeout: 10800 - abstract: true - parent: base-simple-crc - vars: - crc_parameters: "--memory 22000 --disk-size 120 --cpus 10" - pre_pull_images: - - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 - -# Base job for openstack based job containing ci-framework bits -- job: - name: cifmw-base-crc-openstack - parent: cifmw-base-crc - timeout: 10800 - abstract: true - irrelevant-files: - - .*/*.md - - ^.github/.*$ - - ^LICENSE$ - - ^OWNERS$ - - ^OWNERS_ALIASES$ - - ^PROJECT$ - - ^README.md$ - - ^renovate.json$ - - ^tests/.*$ - - ^kuttl-test.yaml$ - required-projects: - - openstack-k8s-operators/ci-framework - - openstack-k8s-operators/dataplane-operator - - openstack-k8s-operators/install_yamls - - openstack-k8s-operators/infra-operator - - openstack-k8s-operators/openstack-baremetal-operator - - openstack-k8s-operators/openstack-operator - - openstack-k8s-operators/repo-setup - - openstack-k8s-operators/edpm-ansible - roles: - - zuul: github.com/openstack-k8s-operators/ci-framework - pre-run: - - ci/playbooks/e2e-prepare.yml - - ci/playbooks/dump_zuul_vars.yml - post-run: - - ci/playbooks/e2e-collect-logs.yml - - ci/playbooks/collect-logs.yml - vars: - zuul_log_collection: true - registry_login_enabled: true - push_registry: quay.rdoproject.org - quay_login_secret_name: quay_nextgen_zuulgithubci - # EDPM job with single node - job: name: cifmw-crc-podified-edpm-deployment diff --git a/zuul.d/edpm_multinode.yaml b/zuul.d/edpm_multinode.yaml index 0a78f01c54..1a032fe153 100644 --- a/zuul.d/edpm_multinode.yaml +++ b/zuul.d/edpm_multinode.yaml @@ -1,117 +1,4 @@ --- -# Base job definition for multinode. Provide base layout with CRC on a dedicated -# nodeset, one compute and an ansible-controller. -# At the end, you get an env ready to run the first stages of the ci-framework. -# It also ensures post-run are common to all of the multinodes jobs we'll get -# in that file. -# In case you change the "nodeset" for your own job, please override -# crc_ci_bootstrap_networking using *extra-vars*. -- job: - name: cifmw-podified-multinode-edpm-base-crc - parent: base-extracted-crc - timeout: 10800 - attempts: 1 - nodeset: - nodes: - - name: controller - label: cloud-centos-9-stream-tripleo-vexxhost - - name: compute - label: cloud-centos-9-stream-tripleo-vexxhost - - name: crc - label: coreos-crc-extracted-xxl - # Note: Always sync irrelevant-files from content provider base job - irrelevant-files: - - .*/*.md - - ^.github/.*$ - - ^LICENSE$ - - ^OWNERS$ - - ^OWNERS_ALIASES$ - - ^PROJECT$ - - ^renovate.json$ - - ^tests/.*$ - - ^kuttl-test.yaml$ - - molecule/.* - - molecule-requirements.txt - - .github/workflows - - scripts/.* - - docs/.* - - contribute/.* - - tests - - roles/.*/molecule/.* - required-projects: - - openstack-k8s-operators/ci-framework - - openstack-k8s-operators/dataplane-operator - - openstack-k8s-operators/install_yamls - - openstack-k8s-operators/infra-operator - - openstack-k8s-operators/openstack-baremetal-operator - - openstack-k8s-operators/openstack-operator - - openstack-k8s-operators/repo-setup - - openstack-k8s-operators/edpm-ansible - roles: - - zuul: github.com/openstack-k8s-operators/ci-framework - pre-run: - - ci/playbooks/multinode-customizations.yml - - ci/playbooks/e2e-prepare.yml - - ci/playbooks/dump_zuul_vars.yml - post-run: - - ci/playbooks/e2e-collect-logs.yml - - ci/playbooks/collect-logs.yml - vars: - zuul_log_collection: true - registry_login_enabled: true - push_registry: quay.rdoproject.org - quay_login_secret_name: quay_nextgen_zuulgithubci - cifmw_artifacts_crc_sshkey: "~/.ssh/id_ed25519" - cifmw_openshift_user: kubeadmin - cifmw_openshift_password: "123456789" - cifmw_openshift_api: api.crc.testing:6443 - cifmw_openshift_kubeconfig: "{{ ansible_user_dir }}/.crc/machines/crc/kubeconfig" - cifmw_openshift_skip_tls_verify: true - cifmw_use_libvirt: false - cifmw_zuul_target_host: controller - crc_ci_bootstrap_networking: - networks: - default: - mtu: 1500 - range: 192.168.122.0/24 - internal-api: - vlan: 20 - range: 172.17.0.0/24 - storage: - vlan: 21 - range: 172.18.0.0/24 - tenant: - vlan: 22 - range: 172.19.0.0/24 - instances: - controller: - networks: - default: - ip: 192.168.122.11 - crc: - networks: - default: - ip: 192.168.122.10 - internal-api: - ip: 172.17.0.5 - storage: - ip: 172.18.0.5 - tenant: - ip: 172.19.0.5 - compute: - networks: - default: - ip: 192.168.122.100 - internal-api: - ip: 172.17.0.100 - config_nm: false - storage: - ip: 172.18.0.100 - config_nm: false - tenant: - ip: 172.19.0.100 - config_nm: false - - job: name: podified-multinode-edpm-deployment-crc parent: cifmw-podified-multinode-edpm-base-crc