From f8158e9160126dc424627987413a0d15963c0ee7 Mon Sep 17 00:00:00 2001 From: Julien Adamek Date: Tue, 23 May 2023 15:52:13 +0200 Subject: [PATCH] ci: add rke2 as upstream cluster in CLI tests --- .github/workflows/cli-rke2-obs_dev.yaml | 1 + .github/workflows/cli-rke2-obs_stable.yaml | 1 + .github/workflows/cli-rke2-obs_staging.yaml | 1 + .../cli-rke2-os-upgrade-rancher_latest.yaml | 1 + .../cli-rke2-os-upgrade-rancher_stable.yaml | 1 + .github/workflows/cli-rke2-os-upgrade.yaml | 1 + .../workflows/cli-rke2-rancher_latest.yaml | 1 + .../workflows/cli-rke2-rancher_stable.yaml | 1 + .github/workflows/master-e2e.yaml | 11 +++++++--- tests/e2e/bootstrap_test.go | 21 ++++++++++++------- 10 files changed, 30 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cli-rke2-obs_dev.yaml b/.github/workflows/cli-rke2-obs_dev.yaml index 61394cb77..1cc6dd130 100644 --- a/.github/workflows/cli-rke2-obs_dev.yaml +++ b/.github/workflows/cli-rke2-obs_dev.yaml @@ -33,3 +33,4 @@ jobs: k8s_version_to_provision: v1.25.7+rke2r1 operator_version: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart rancher_version: ${{ inputs.rancher_version }} + upstream_cluster_version: v1.25.7+rke2r1 diff --git a/.github/workflows/cli-rke2-obs_stable.yaml b/.github/workflows/cli-rke2-obs_stable.yaml index 1c68fa160..4e839312b 100644 --- a/.github/workflows/cli-rke2-obs_stable.yaml +++ b/.github/workflows/cli-rke2-obs_stable.yaml @@ -33,3 +33,4 @@ jobs: k8s_version_to_provision: v1.25.7+rke2r1 operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_version: ${{ inputs.rancher_version }} + upstream_cluster_version: v1.25.7+rke2r1 diff --git a/.github/workflows/cli-rke2-obs_staging.yaml b/.github/workflows/cli-rke2-obs_staging.yaml index 950160b6d..262df4de8 100644 --- a/.github/workflows/cli-rke2-obs_staging.yaml +++ b/.github/workflows/cli-rke2-obs_staging.yaml @@ -33,3 +33,4 @@ jobs: k8s_version_to_provision: v1.25.7+rke2r1 operator_version: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart rancher_version: ${{ inputs.rancher_version }} + upstream_cluster_version: v1.25.7+rke2r1 diff --git a/.github/workflows/cli-rke2-os-upgrade-rancher_latest.yaml b/.github/workflows/cli-rke2-os-upgrade-rancher_latest.yaml index 86f0a2625..18b8ebc52 100644 --- a/.github/workflows/cli-rke2-os-upgrade-rancher_latest.yaml +++ b/.github/workflows/cli-rke2-os-upgrade-rancher_latest.yaml @@ -30,3 +30,4 @@ jobs: upgrade_channel_list: registry.opensuse.org/isv/rancher/elemental/dev/teal53/15.4/rancher/elemental-teal-dev-channel/5.3:latest upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/teal53/15.4/rancher/elemental-teal/5.3:latest upgrade_os_channel: dev + upstream_cluster_version: v1.25.7+rke2r1 diff --git a/.github/workflows/cli-rke2-os-upgrade-rancher_stable.yaml b/.github/workflows/cli-rke2-os-upgrade-rancher_stable.yaml index 936e85fbc..fab9a0abd 100644 --- a/.github/workflows/cli-rke2-os-upgrade-rancher_stable.yaml +++ b/.github/workflows/cli-rke2-os-upgrade-rancher_stable.yaml @@ -30,3 +30,4 @@ jobs: upgrade_channel_list: registry.opensuse.org/isv/rancher/elemental/dev/teal53/15.4/rancher/elemental-teal-dev-channel/5.3:latest upgrade_image: registry.opensuse.org/isv/rancher/elemental/dev/teal53/15.4/rancher/elemental-teal/5.3:latest upgrade_os_channel: dev + upstream_cluster_version: v1.25.7+rke2r1 diff --git a/.github/workflows/cli-rke2-os-upgrade.yaml b/.github/workflows/cli-rke2-os-upgrade.yaml index 9fa7a9287..5f546f893 100644 --- a/.github/workflows/cli-rke2-os-upgrade.yaml +++ b/.github/workflows/cli-rke2-os-upgrade.yaml @@ -48,3 +48,4 @@ jobs: upgrade_channel_list: registry.opensuse.org/isv/rancher/elemental/dev/teal53/15.4/rancher/elemental-teal-dev-channel/5.3:latest upgrade_image: registry.opensuse.org/isv/rancher/elemental/${{ inputs.upgrade_os_channel }}/teal53/15.4/rancher/elemental-teal/5.3:latest upgrade_os_channel: ${{ inputs.upgrade_os_channel }} + upstream_cluster_version: v1.25.7+rke2r1 diff --git a/.github/workflows/cli-rke2-rancher_latest.yaml b/.github/workflows/cli-rke2-rancher_latest.yaml index 6a8fd6477..a9916b755 100644 --- a/.github/workflows/cli-rke2-rancher_latest.yaml +++ b/.github/workflows/cli-rke2-rancher_latest.yaml @@ -21,3 +21,4 @@ jobs: cluster_name: cluster-rke2 k8s_version_to_provision: v1.25.7+rke2r1 rancher_version: latest/devel + upstream_cluster_version: v1.25.7+rke2r1 diff --git a/.github/workflows/cli-rke2-rancher_stable.yaml b/.github/workflows/cli-rke2-rancher_stable.yaml index b2bec197d..476c9b7ce 100644 --- a/.github/workflows/cli-rke2-rancher_stable.yaml +++ b/.github/workflows/cli-rke2-rancher_stable.yaml @@ -24,3 +24,4 @@ jobs: k8s_version_to_provision: v1.25.7+rke2r1 start_condition: ${{ github.event.workflow_run.conclusion }} workflow_download: ${{ github.event.workflow_run.workflow_id }} + upstream_cluster_version: v1.25.7+rke2r1 diff --git a/.github/workflows/master-e2e.yaml b/.github/workflows/master-e2e.yaml index 78b6bfaf8..02db8ea82 100644 --- a/.github/workflows/master-e2e.yaml +++ b/.github/workflows/master-e2e.yaml @@ -401,7 +401,7 @@ jobs: - name: Configure Rancher & Libvirt if: inputs.test_type == 'cli' run: cd tests && make e2e-configure-rancher - - name: Bootstrap node 1, 2 and 3 (with iPXE) in pool "master" (use Emulated TPM if possible) + - name: Bootstrap node 1, 2 and 3 in pool "master" (use Emulated TPM if possible) if: inputs.test_type == 'cli' env: EMULATE_TPM: true @@ -409,6 +409,11 @@ jobs: VM_START: 1 VM_END: 3 run: | + # Only use ISO boot if the upstream cluster is RKE2 + # due to issue with pxe, dhcp traffic + if ${{ contains(inputs.upstream_cluster_version, 'rke') }}; then + export ISO_BOOT=true + fi OPERATOR_VERSION=$(echo ${{ steps.component.outputs.operator_version }} \ | awk -F ':' '{print substr($2,0,3)}') # If elemental-operator is a v1.0.x we should disable EMULATE_TPM @@ -461,7 +466,7 @@ jobs: VM_INDEX: 2 VM_NUMBERS: 3 run: cd tests && make e2e-upgrade-node - - name: Bootstrap additional nodes (with ISO) in pool "worker" (total of ${{ inputs.node_number }}) + - name: Bootstrap additional nodes in pool "worker" (total of ${{ inputs.node_number }}) if: inputs.test_type == 'cli' && inputs.node_number > 3 env: ISO_BOOT: true @@ -482,7 +487,7 @@ jobs: if: inputs.test_type == 'cli' run: sudo virsh list - name: Test Backup/Restore Elemental resources with Rancher Manager - if: inputs.test_type == 'cli' + if: inputs.test_type == 'cli' && contains(inputs.upstream_cluster_version, 'k3s') env: BACKUP_RESTORE_VERSION: ${{ inputs.backup_restore_version }} run: cd tests && make e2e-backup-restore diff --git a/tests/e2e/bootstrap_test.go b/tests/e2e/bootstrap_test.go index 7c9c65837..df9efd588 100644 --- a/tests/e2e/bootstrap_test.go +++ b/tests/e2e/bootstrap_test.go @@ -124,12 +124,12 @@ var _ = Describe("E2E - Bootstrapping node", Label("bootstrap"), func() { } if isoBoot == "true" { - By("Adding registration file to ISO", func() { - // Check if generated ISO is already here - isIso, _ := exec.Command("bash", "-c", "ls ../../elemental-*.iso").Output() + // Check if generated ISO is already here + isIso, _ := exec.Command("bash", "-c", "ls ../../elemental-*.iso").Output() - // No need to recreate the ISO twice - if len(isIso) == 0 { + // No need to recreate the ISO twice + if len(isIso) == 0 { + By("Adding registration file to ISO", func() { out, err := exec.Command( "bash", "-c", "../../.github/elemental-iso-add-registration "+installConfigYaml+" ../../build/elemental-*.iso", @@ -140,8 +140,8 @@ var _ = Describe("E2E - Bootstrapping node", Label("bootstrap"), func() { // Move generated ISO to the destination directory err = exec.Command("bash", "-c", "mv -f elemental-*.iso ../..").Run() Expect(err).To(Not(HaveOccurred())) - } - }) + }) + } } // Loop on node provisionning @@ -435,5 +435,12 @@ var _ = Describe("E2E - Bootstrapping node", Label("bootstrap"), func() { By("Checking cluster state after reboot", func() { CheckClusterState(clusterNS, clusterName) }) + + if isoBoot == "true" { + By("Removing the ISO", func() { + err := exec.Command("bash", "-c", "rm -f ../../*.iso").Run() + Expect(err).To(Not(HaveOccurred())) + }) + } }) })