From b3185d6b491a5e3e440b5f84ae32cc7a110d1c13 Mon Sep 17 00:00:00 2001 From: Lewis Denny Date: Wed, 25 Sep 2024 12:55:42 +1000 Subject: [PATCH] Add Ironic baremetal in a dedicated ci-bootstrap job --- ...ap.yml => bootstrap-networking-mapper.yml} | 1 + ci/playbooks/edpm/fail.yml | 20 ++++ hooks/playbooks/fetch_compute_facts.yml | 3 + zuul.d/base.yaml | 6 +- zuul.d/edpm_multinode.yaml | 109 ++++++++---------- zuul.d/nodeset.yaml | 17 +++ 6 files changed, 90 insertions(+), 66 deletions(-) rename ci/playbooks/{pre-ci-bootstrap.yml => bootstrap-networking-mapper.yml} (94%) create mode 100644 ci/playbooks/edpm/fail.yml diff --git a/ci/playbooks/pre-ci-bootstrap.yml b/ci/playbooks/bootstrap-networking-mapper.yml similarity index 94% rename from ci/playbooks/pre-ci-bootstrap.yml rename to ci/playbooks/bootstrap-networking-mapper.yml index ccd448c7d4..787fc9d7c3 100644 --- a/ci/playbooks/pre-ci-bootstrap.yml +++ b/ci/playbooks/bootstrap-networking-mapper.yml @@ -32,6 +32,7 @@ -i {{ ansible_user_dir }}/ci-framework-data/artifacts/zuul_inventory.yml -e @scenarios/centos-9/base.yml -e "@{{ ansible_user_dir }}/ci-framework-data/artifacts/parameters/zuul-params.yml" + -e cifmw_networking_mapper_ifaces_info_path=/etc/ci/env/interfaces-info.yml {% if nodepool is defined %} -e "@{{ ansible_user_dir }}/ci-framework-data/artifacts/nodepool_params.yml" {% endif %} diff --git a/ci/playbooks/edpm/fail.yml b/ci/playbooks/edpm/fail.yml new file mode 100644 index 0000000000..8ddb799f2c --- /dev/null +++ b/ci/playbooks/edpm/fail.yml @@ -0,0 +1,20 @@ +--- +- name: "Fail" + hosts: "{{ cifmw_zuul_target_host | default('all') }}" + gather_facts: true + tasks: + - name: Filter out host if needed + when: + - cifmw_zuul_target_host is defined + - cifmw_zuul_target_host != 'all' + - inventory_hostname != cifmw_zuul_target_host + ansible.builtin.meta: end_host + + - name: Remove the success flag to trigger the networks autohold mechanism + ansible.builtin.file: + path: "{{ ansible_user_dir }}/cifmw-success" + state: absent + + - name: Fail + ansible.builtin.fail: + msg: "Debug failure" diff --git a/hooks/playbooks/fetch_compute_facts.yml b/hooks/playbooks/fetch_compute_facts.yml index f7d5a9532d..5bdd181bc8 100644 --- a/hooks/playbooks/fetch_compute_facts.yml +++ b/hooks/playbooks/fetch_compute_facts.yml @@ -26,6 +26,9 @@ - name: Load parameters ansible.builtin.include_vars: dir: "{{ item }}" + ignore_unknown_extensions: True + extensions: + - 'yml' loop: - "{{ cifmw_basedir }}/artifacts/parameters" - "/etc/ci/env" diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index 0a34670ca6..7d6b95cfed 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -216,6 +216,7 @@ required-projects: *multinode_edpm_rp roles: *multinode_edpm_roles pre-run: + - ci/playbooks/bootstrap-networking-mapper.yml - ci/playbooks/crc/reconfigure-kubelet.yml - ci/playbooks/multinode-customizations.yml post-run: *multinode_edpm_post_run @@ -231,11 +232,12 @@ parent: base-extracted-crc-ci-bootstrap-staging timeout: 10800 attempts: 1 - nodeset: centos-9-medium-centos-9-crc-extracted-2-39-0-3xl + nodeset: centos-9-medium-centos-9-crc-extracted-2-39-0-3xl-vexxhost irrelevant-files: *ir_files required-projects: *multinode_edpm_rp roles: *multinode_edpm_roles pre-run: + - ci/playbooks/bootstrap-networking-mapper.yml - ci/playbooks/crc/reconfigure-kubelet.yml - ci/playbooks/multinode-customizations.yml post-run: *multinode_edpm_post_run @@ -305,4 +307,4 @@ pre-run: - ci/playbooks/e2e-prepare.yml - ci/playbooks/dump_zuul_data.yml - - ci/playbooks/pre-ci-bootstrap.yml + - ci/playbooks/bootstrap-networking-mapper.yml diff --git a/zuul.d/edpm_multinode.yaml b/zuul.d/edpm_multinode.yaml index 32465a3cbe..5e1a743008 100644 --- a/zuul.d/edpm_multinode.yaml +++ b/zuul.d/edpm_multinode.yaml @@ -367,64 +367,6 @@ # TODO: to be removed after removing its dependency in ci-bootstrap crc_ci_bootstrap_networking: {} vars: &edpm_bootstrap_vars - cifmw_networking_definition: - networks: - default: - network: "192.168.122.0/24" - gateway: "192.168.122.1" - mtu: 1500 - internal-api: - network: "172.17.0.0/24" - gateway: "172.17.0.1" - vlan: 20 - storage: - network: "172.18.0.0/24" - gateway: "172.18.0.1" - vlan: 21 - tenant: - network: "172.19.0.0/24" - gateway: "172.19.0.1" - vlan: 22 - 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-0: - skip-nm-configuration: true - networks: - default: - ip: "192.168.122.100" - internal-api: - ip: "172.17.0.100" - trunk_parent: default - storage: - ip: "172.18.0.100" - trunk_parent: default - tenant: - ip: "172.19.0.100" - trunk_parent: default - cifmw_extras: - - '@scenarios/centos-9/multinode-ci.yml' - run: - - ci/playbooks/edpm/run.yml - -# Job with ci-bootstrap staging branch job - to be used to test ci-bootstrap -- job: - name: podified-multinode-edpm-deployment-crc-bootstrap-staging - parent: cifmw-podified-multinode-edpm-ci-bootstrap-staging - extra-vars: *edpm_bootstrap_extra_vars - vars: cifmw_networking_definition: networks: default: @@ -457,13 +399,13 @@ networks: default: {} internal-api: - trunk_parent: default + trunk-parent: default skip-nm-configuration: true tenant: - trunk_parent: default + trunk-parent: default skip-nm-configuration: true storage: - trunk_parent: default + trunk-parent: default skip-nm-configuration: true instances: controller: @@ -476,14 +418,53 @@ ip: "192.168.122.10" internal-api: ip: "172.17.0.5" - trunk_parent: default + trunk-parent: default storage: ip: "172.18.0.5" - trunk_parent: default + trunk-parent: default tenant: ip: "172.19.0.5" - trunk_parent: default + trunk-parent: default + cifmw_extras: + - '@scenarios/centos-9/multinode-ci.yml' + run: + - ci/playbooks/edpm/run.yml + +# Job with ci-bootstrap staging branch job - to be used to test ci-bootstrap +- job: + name: podified-multinode-edpm-deployment-crc-bootstrap-staging + parent: cifmw-podified-multinode-edpm-ci-bootstrap-staging + extra-vars: *edpm_bootstrap_extra_vars + vars: *edpm_bootstrap_vars + run: + - ci/playbooks/edpm/run.yml + +# TODO: Testing Ironic jobs definition +- job: + name: podified-multinode-edpm-deployment-crc-bootstrap-staging-ironic + parent: podified-multinode-edpm-deployment-crc-bootstrap-staging + vars: + cifmw_use_sushy_emulator: true + cifmw_use_libvirt_extracted: true + cifmw_networking_mapper_definition_patch_02_bmaas_net: + networks: + baremetal: + network: "172.20.1.0/24" + gateway: "172.20.1.1" + mtu: 1500 + instances: + controller: + networks: + baremetal: + ip: "172.20.1.11" + skip-nm-configuration: true + crc: + networks: + baremetal: + ip: "172.20.1.5" + skip-nm-configuration: true cifmw_extras: - '@scenarios/centos-9/multinode-ci.yml' run: - ci/playbooks/edpm/run.yml + - ci/playbooks/edpm/fail.yml diff --git a/zuul.d/nodeset.yaml b/zuul.d/nodeset.yaml index 9fdc075b13..b9b1e09bbe 100644 --- a/zuul.d/nodeset.yaml +++ b/zuul.d/nodeset.yaml @@ -314,6 +314,23 @@ nodes: - crc +- nodeset: + name: centos-9-medium-centos-9-crc-extracted-2-39-0-3xl-vexxhost + nodes: + - name: controller + label: cloud-centos-9-stream-tripleo-vexxhost-medium + - name: compute-0 + label: cloud-centos-9-stream-tripleo-vexxhost + - name: crc + label: coreos-crc-extracted-2-39-0-3xl + groups: + - name: computes + nodes: + - compute-0 + - name: ocps + nodes: + - crc + - nodeset: name: centos-9-crc-2-39-0-6xlarge nodes: