From c1759fb1d189386ee12bcbaf4e01d819054bf262 Mon Sep 17 00:00:00 2001 From: Loic Devulder Date: Wed, 19 Apr 2023 14:39:25 +0200 Subject: [PATCH] ci/e2e: change Elemental operator install/upgrade stack Signed-off-by: Loic Devulder --- .../cli-k3s-os-upgrade-rancher_latest.yaml | 3 +- .../cli-k3s-os-upgrade-rancher_stable.yaml | 3 +- .github/workflows/cli-k3s-os-upgrade.yaml | 7 +-- .../workflows/cli-obs-manual-workflow.yaml | 10 ++-- .../cli-rke2-os-upgrade-rancher_latest.yaml | 3 +- .../cli-rke2-os-upgrade-rancher_stable.yaml | 3 +- .github/workflows/cli-rke2-os-upgrade.yaml | 7 +-- .github/workflows/e2e-k3s-obs-Dev.yaml | 6 +-- .github/workflows/e2e-k3s-obs-Stable.yaml | 6 +-- .github/workflows/e2e-k3s-obs-Staging.yaml | 6 +-- .github/workflows/e2e-rke2-obs-Dev.yaml | 6 +-- .github/workflows/e2e-rke2-obs-Stable.yaml | 6 +-- .github/workflows/e2e-rke2-obs-Staging.yaml | 6 +-- .github/workflows/master-e2e.yaml | 47 ++++++++++++++----- .github/workflows/ui-e2e-k3s-latest.yaml | 4 -- .github/workflows/ui-e2e-k3s-obs-Dev.yaml | 6 +-- .github/workflows/ui-e2e-k3s-obs-Stable.yaml | 6 +-- .github/workflows/ui-e2e-k3s-obs-Staging.yaml | 6 +-- .github/workflows/ui-e2e-k3s-stable.yaml | 4 -- .github/workflows/ui-e2e-rke2-latest.yaml | 4 -- .github/workflows/ui-e2e-rke2-obs-Dev.yaml | 6 +-- .github/workflows/ui-e2e-rke2-obs-Stable.yaml | 6 +-- .../workflows/ui-e2e-rke2-obs-Staging.yaml | 6 +-- .github/workflows/ui-e2e-rke2-stable.yaml | 4 -- .../ui-k3s-os-upgrade-rancher_stable.yaml | 2 +- .github/workflows/ui-k3s-os-upgrade.yaml | 10 ++-- .../ui-rke2-os-upgrade-rancher_stable.yaml | 2 +- .github/workflows/ui-rke2-os-upgrade.yaml | 10 ++-- tests/Makefile | 2 + tests/e2e/install_test.go | 33 +------------ tests/e2e/suite_test.go | 6 ++- tests/e2e/uninstall-operator_test.go | 5 -- tests/e2e/upgrade_test.go | 25 ++++++++++ 33 files changed, 107 insertions(+), 159 deletions(-) diff --git a/.github/workflows/cli-k3s-os-upgrade-rancher_latest.yaml b/.github/workflows/cli-k3s-os-upgrade-rancher_latest.yaml index 09d55b46a..ef800de22 100644 --- a/.github/workflows/cli-k3s-os-upgrade-rancher_latest.yaml +++ b/.github/workflows/cli-k3s-os-upgrade-rancher_latest.yaml @@ -22,10 +22,11 @@ jobs: k8s_version_to_provision: v1.25.7+k3s1 # Force to only deploy the first 3 nodes node_number: 3 + operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: latest rancher_version: devel runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-standard-8-v4 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_operator: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart upgrade_os_channel: dev diff --git a/.github/workflows/cli-k3s-os-upgrade-rancher_stable.yaml b/.github/workflows/cli-k3s-os-upgrade-rancher_stable.yaml index f9ed0d13b..d54608296 100644 --- a/.github/workflows/cli-k3s-os-upgrade-rancher_stable.yaml +++ b/.github/workflows/cli-k3s-os-upgrade-rancher_stable.yaml @@ -22,10 +22,11 @@ jobs: k8s_version_to_provision: v1.25.7+k3s1 # Force to only deploy the first 3 nodes node_number: 3 + operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: stable rancher_version: latest runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-standard-8-v4 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_operator: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart upgrade_os_channel: dev diff --git a/.github/workflows/cli-k3s-os-upgrade.yaml b/.github/workflows/cli-k3s-os-upgrade.yaml index 82a5fa8ba..59dbb3889 100644 --- a/.github/workflows/cli-k3s-os-upgrade.yaml +++ b/.github/workflows/cli-k3s-os-upgrade.yaml @@ -20,10 +20,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart - type: string upgrade_os_channel: description: Channel to use for the Elemental OS upgrade default: dev @@ -48,10 +44,11 @@ jobs: k8s_version_to_provision: v1.25.7+k3s1 # Force to only deploy the first 3 nodes node_number: 3 + operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/${{ inputs.upgrade_os_channel }}/charts/rancher/elemental-operator-chart + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-standard-8-v4 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_operator: ${{ inputs.upgrade_operator }} upgrade_os_channel: ${{ inputs.upgrade_os_channel }} diff --git a/.github/workflows/cli-obs-manual-workflow.yaml b/.github/workflows/cli-obs-manual-workflow.yaml index 5639a49e9..1a3cc00fd 100644 --- a/.github/workflows/cli-obs-manual-workflow.yaml +++ b/.github/workflows/cli-obs-manual-workflow.yaml @@ -23,6 +23,10 @@ on: description: Number of nodes (>3) to deploy on the provisioned cluster default: 5 type: number + operator_version: + description: Elemental operator version to use + default: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart + type: string rancher_channel: description: Rancher Manager channel to use for installation (alpha/latest/stable) default: stable @@ -39,10 +43,6 @@ on: description: Defines if bootstrapping is done sequentially (true) or in parallel (false) default: false type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart - type: string concurrency: group: cli-obs-manual-workflow-${{ github.head_ref || github.ref }}-${{ github.repository }} @@ -63,8 +63,8 @@ jobs: iso_to_test: ${{ inputs.iso_to_test }} k8s_version_to_provision: ${{ inputs.k8s_version_to_provision }} node_number: ${{ inputs.node_number }} + operator_version: ${{ inputs.operator_version }} rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} runner_template: ${{ inputs.runner_template }} sequential: ${{ inputs.sequential }} - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/cli-rke2-os-upgrade-rancher_latest.yaml b/.github/workflows/cli-rke2-os-upgrade-rancher_latest.yaml index 0dfc87c59..d6eefdcf6 100644 --- a/.github/workflows/cli-rke2-os-upgrade-rancher_latest.yaml +++ b/.github/workflows/cli-rke2-os-upgrade-rancher_latest.yaml @@ -23,10 +23,11 @@ jobs: k8s_version_to_provision: v1.25.7+rke2r1 # Force to only deploy the first 3 nodes node_number: 3 + operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: latest rancher_version: devel runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-standard-8-v4 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_operator: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart upgrade_os_channel: dev diff --git a/.github/workflows/cli-rke2-os-upgrade-rancher_stable.yaml b/.github/workflows/cli-rke2-os-upgrade-rancher_stable.yaml index dca9213ce..b99319d72 100644 --- a/.github/workflows/cli-rke2-os-upgrade-rancher_stable.yaml +++ b/.github/workflows/cli-rke2-os-upgrade-rancher_stable.yaml @@ -23,10 +23,11 @@ jobs: k8s_version_to_provision: v1.25.7+rke2r1 # Force to only deploy the first 3 nodes node_number: 3 + operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: stable rancher_version: latest runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-standard-8-v4 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_operator: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart upgrade_os_channel: dev diff --git a/.github/workflows/cli-rke2-os-upgrade.yaml b/.github/workflows/cli-rke2-os-upgrade.yaml index 9eaec6ac9..50cf9a95c 100644 --- a/.github/workflows/cli-rke2-os-upgrade.yaml +++ b/.github/workflows/cli-rke2-os-upgrade.yaml @@ -20,10 +20,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart - type: string upgrade_os_channel: description: Channel to use for the Elemental OS upgrade default: dev @@ -49,10 +45,11 @@ jobs: k8s_version_to_provision: v1.25.7+rke2r1 # Force to only deploy the first 3 nodes node_number: 3 + operator_upgrade: oci://registry.opensuse.org/isv/rancher/elemental/${{ inputs.upgrade_os_channel }}/charts/rancher/elemental-operator-chart + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} runner_template: elemental-e2e-ci-runner-spot-x86-64-template-n2-standard-8-v4 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_operator: ${{ inputs.upgrade_operator }} upgrade_os_channel: ${{ inputs.upgrade_os_channel }} diff --git a/.github/workflows/e2e-k3s-obs-Dev.yaml b/.github/workflows/e2e-k3s-obs-Dev.yaml index 66acad004..e5b9dd6b0 100644 --- a/.github/workflows/e2e-k3s-obs-Dev.yaml +++ b/.github/workflows/e2e-k3s-obs-Dev.yaml @@ -19,10 +19,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart - type: string upstream_k3s_version: description: Cluster upstream K3s version where to install Rancher type: string @@ -45,7 +41,7 @@ jobs: destroy_runner: ${{ inputs.destroy_runner }} iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Dev:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+k3s1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} - upgrade_operator: ${{ inputs.upgrade_operator }} upstream_k3s_version: ${{ inputs.upstream_k3s_version }} diff --git a/.github/workflows/e2e-k3s-obs-Stable.yaml b/.github/workflows/e2e-k3s-obs-Stable.yaml index 6d234a396..bfce1fccc 100644 --- a/.github/workflows/e2e-k3s-obs-Stable.yaml +++ b/.github/workflows/e2e-k3s-obs-Stable.yaml @@ -19,10 +19,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart - type: string upstream_k3s_version: description: Cluster upstream K3s version where to install Rancher type: string @@ -45,7 +41,7 @@ jobs: destroy_runner: ${{ inputs.destroy_runner }} iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Stable:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+k3s1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} - upgrade_operator: ${{ inputs.upgrade_operator }} upstream_k3s_version: ${{ inputs.upstream_k3s_version }} diff --git a/.github/workflows/e2e-k3s-obs-Staging.yaml b/.github/workflows/e2e-k3s-obs-Staging.yaml index e4fa8d418..2663d55b4 100644 --- a/.github/workflows/e2e-k3s-obs-Staging.yaml +++ b/.github/workflows/e2e-k3s-obs-Staging.yaml @@ -19,10 +19,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart - type: string upstream_k3s_version: description: Cluster upstream K3s version where to install Rancher type: string @@ -45,7 +41,7 @@ jobs: destroy_runner: ${{ inputs.destroy_runner }} iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Staging:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+k3s1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} - upgrade_operator: ${{ inputs.upgrade_operator }} upstream_k3s_version: ${{ inputs.upstream_k3s_version }} diff --git a/.github/workflows/e2e-rke2-obs-Dev.yaml b/.github/workflows/e2e-rke2-obs-Dev.yaml index bb14ba1e9..d3c758c99 100644 --- a/.github/workflows/e2e-rke2-obs-Dev.yaml +++ b/.github/workflows/e2e-rke2-obs-Dev.yaml @@ -16,10 +16,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart - type: string concurrency: group: e2e-rke2-obs-dev-${{ github.head_ref || github.ref }}-${{ github.repository }} @@ -39,6 +35,6 @@ jobs: destroy_runner: ${{ inputs.destroy_runner }} iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Dev:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+rke2r1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/e2e-rke2-obs-Stable.yaml b/.github/workflows/e2e-rke2-obs-Stable.yaml index ff3003d56..149fadabe 100644 --- a/.github/workflows/e2e-rke2-obs-Stable.yaml +++ b/.github/workflows/e2e-rke2-obs-Stable.yaml @@ -16,10 +16,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart - type: string concurrency: group: e2e-rke2-obs-stable-${{ github.head_ref || github.ref }}-${{ github.repository }} @@ -39,6 +35,6 @@ jobs: destroy_runner: ${{ inputs.destroy_runner }} iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Stable:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+rke2r1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/e2e-rke2-obs-Staging.yaml b/.github/workflows/e2e-rke2-obs-Staging.yaml index 13b423715..554f4d4ec 100644 --- a/.github/workflows/e2e-rke2-obs-Staging.yaml +++ b/.github/workflows/e2e-rke2-obs-Staging.yaml @@ -16,10 +16,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart - type: string concurrency: group: e2e-rke2-obs-staging-${{ github.head_ref || github.ref }}-${{ github.repository }} @@ -39,6 +35,6 @@ jobs: destroy_runner: ${{ inputs.destroy_runner }} iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Staging:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+rke2r1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/master-e2e.yaml b/.github/workflows/master-e2e.yaml index 7a4775197..8d13ae0f4 100644 --- a/.github/workflows/master-e2e.yaml +++ b/.github/workflows/master-e2e.yaml @@ -71,6 +71,13 @@ on: description: Number of nodes to deploy on the provisioned cluster default: 5 type: string + operator_upgrade: + description: Elemental operator version to upgrade to + type: string + operator_version: + description: Elemental operator version to use + type: string + default: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart proxy: description: Deploy a proxy type: string @@ -115,9 +122,6 @@ on: upgrade_image: description: Image to use for the Elemental OS upgrade type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - type: string upgrade_os_channel: description: Channel to use for the Elemental OS upgrade type: string @@ -194,7 +198,6 @@ jobs: # For Rancher Manager RANCHER_CHANNEL: ${{ inputs.rancher_channel }} RANCHER_VERSION: ${{ inputs.rancher_version }} - UPGRADE_OPERATOR: ${{ inputs.upgrade_operator }} # For K8s cluster to provision with Rancher Manager K8S_VERSION_TO_PROVISION: ${{ inputs.k8s_version_to_provision }} steps: @@ -239,9 +242,10 @@ jobs: - name: Deploy Proxy if: inputs.proxy == 'elemental' || inputs.proxy == 'rancher' run: docker run -d --name squid_proxy -v $(pwd)/tests/assets/squid.conf:/etc/squid/squid.conf -p 3128:3128 wernight/squid - - name: Install Rancher + - name: Install Rancher+Elemental components env: CA_TYPE: ${{ inputs.ca_type }} + OPERATOR_VERSION: ${{ inputs.operator_version }} PROXY: ${{ inputs.proxy }} PUBLIC_DOMAIN: bc.googleusercontent.com TEST_TYPE: ${{ inputs.test_type }} @@ -249,6 +253,11 @@ jobs: - name: Extracts component versions/informations id: component run: | + # Extract rancher-backup-operator version + BACKUP_RESTORE_VERSION=$(kubectl get pod \ + --namespace cattle-resources-system \ + -l app.kubernetes.io/name=rancher-backup \ + -o jsonpath={.items[*].status.containerStatuses[*].image} 2> /dev/null || true) # Extract elemental-operator version OPERATOR_VERSION=$(kubectl get pod \ --namespace cattle-elemental-system \ @@ -259,15 +268,10 @@ jobs: --namespace cattle-system \ -l app=rancher \ -o jsonpath={.items[*].status.containerStatuses[*].image} 2> /dev/null || true) - # Extract rancher-backup-operator version - BACKUP_RESTORE_VERSION=$(kubectl get pod \ - --namespace cattle-resources-system \ - -l app.kubernetes.io/name=rancher-backup \ - -o jsonpath={.items[*].status.containerStatuses[*].image} 2> /dev/null || true) # Export values + echo "backup_restore_version=${BACKUP_RESTORE_VERSION}" >> ${GITHUB_OUTPUT} echo "operator_version=${OPERATOR_VERSION}" >> ${GITHUB_OUTPUT} echo "rm_version=${RM_VERSION}" >> ${GITHUB_OUTPUT} - echo "backup_restore_version=${BACKUP_RESTORE_VERSION}" >> ${GITHUB_OUTPUT} - name: Cypress tests - Basics # Basics means tests without an extra elemental node needed if: inputs.test_type == 'ui' @@ -394,6 +398,22 @@ jobs: else cd tests && VM_INDEX=${VM_START} VM_NUMBERS=${VM_END} make e2e-bootstrap-node fi + - name: Upgrade Elemental Operator + if: inputs.test_type == 'cli' && inputs.operator_upgrade != '' + id: operator_upgrade + env: + OPERATOR_UPGRADE: ${{ inputs.operator_upgrade }} + run: | + cd tests && make e2e-upgrade-operator + + # Extract elemental-operator version + OPERATOR_VERSION=$(kubectl get pod \ + --namespace cattle-elemental-system \ + -l app=elemental-operator \ + -o jsonpath={.items[*].status.containerStatuses[*].image} 2> /dev/null || true) + # Export values + echo "operator_upgrade=${OPERATOR_UPGRADE}" >> ${GITHUB_OUTPUT} + echo "operator_version=${OPERATOR_VERSION}" >> ${GITHUB_OUTPUT} - name: Upgrade node 1 to specified OS version with osImage if: inputs.test_type == 'cli' && inputs.upgrade_image != '' env: @@ -495,7 +515,6 @@ jobs: echo "Rancher Manager Channel: ${{ env.RANCHER_CHANNEL }}/${{ env.RANCHER_VERSION }}" >> ${GITHUB_STEP_SUMMARY} echo "Rancher Manager Version: ${{ steps.component.outputs.rm_version }}" >> ${GITHUB_STEP_SUMMARY} echo "Elemental ISO used: ${ISO_USED}" >> ${GITHUB_STEP_SUMMARY} - echo "Elemental Operator Upgrade: ${{ env.UPGRADE_OPERATOR || 'N/A' }}" >> ${GITHUB_STEP_SUMMARY} echo "Elemental Operator Version: ${{ steps.component.outputs.operator_version }}" >> ${GITHUB_STEP_SUMMARY} echo "Elemental Backup-Restore Operator Version: ${{ steps.component.outputs.backup_restore_version }}" >> ${GITHUB_STEP_SUMMARY} if ${{ inputs.elemental_ui_version != '' }}; then @@ -505,10 +524,12 @@ jobs: echo "Elemental UI User: ${{ inputs.ui_account }}" >> ${GITHUB_STEP_SUMMARY} fi echo "K3s on Rancher Manager: ${{ env.INSTALL_K3S_VERSION }}" >> ${GITHUB_STEP_SUMMARY} - echo "K3s/RKE2 version deployed on the cluster: ${{ inputs.k8s_version_to_provision }}" >> ${GITHUB_STEP_SUMMARY} + echo "K8s version deployed on the cluster(s): ${{ inputs.k8s_version_to_provision }}" >> ${GITHUB_STEP_SUMMARY} # Upgrade details if ${{ inputs.upgrade_image != '' }} || ${{ inputs.upgrade_os_channel != '' }}; then echo "## Upgrade details" >> ${GITHUB_STEP_SUMMARY} + echo "Elemental Operator Upgrade: ${{ steps.operator_upgrade.outputs.operator_upgrade }}" >> ${GITHUB_STEP_SUMMARY} + echo "Elemental Operator Version: ${{ steps.operator_upgrade.outputs.operator_version }}" >> ${GITHUB_STEP_SUMMARY} echo "Channel list: ${{ inputs.upgrade_channel_list }}" >> ${GITHUB_STEP_SUMMARY} echo "Channel used: ${{ inputs.upgrade_os_channel }}" >> ${GITHUB_STEP_SUMMARY} echo "Upgrade image: ${{ inputs.upgrade_image }}" >> ${GITHUB_STEP_SUMMARY} diff --git a/.github/workflows/ui-e2e-k3s-latest.yaml b/.github/workflows/ui-e2e-k3s-latest.yaml index 62f66729b..9ea70bccb 100644 --- a/.github/workflows/ui-e2e-k3s-latest.yaml +++ b/.github/workflows/ui-e2e-k3s-latest.yaml @@ -16,9 +16,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: devel type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - type: string schedule: - cron: '0 4 * * *' @@ -40,4 +37,3 @@ jobs: rancher_channel: 'latest' rancher_version: ${{ inputs.rancher_version || 'devel' }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-e2e-k3s-obs-Dev.yaml b/.github/workflows/ui-e2e-k3s-obs-Dev.yaml index 484e8b89b..df291137a 100644 --- a/.github/workflows/ui-e2e-k3s-obs-Dev.yaml +++ b/.github/workflows/ui-e2e-k3s-obs-Dev.yaml @@ -19,10 +19,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart - type: string jobs: ui: @@ -39,8 +35,8 @@ jobs: elemental_ui_version: dev iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Dev:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+k3s1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart proxy: ${{ inputs.proxy }} rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-e2e-k3s-obs-Stable.yaml b/.github/workflows/ui-e2e-k3s-obs-Stable.yaml index 4aadcbe5b..812fa3f14 100644 --- a/.github/workflows/ui-e2e-k3s-obs-Stable.yaml +++ b/.github/workflows/ui-e2e-k3s-obs-Stable.yaml @@ -23,10 +23,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart - type: string jobs: ui: @@ -43,8 +39,8 @@ jobs: elemental_ui_version: ${{ inputs.elemental_ui_version }} iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Stable:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+k3s1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart proxy: ${{ inputs.proxy }} rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-e2e-k3s-obs-Staging.yaml b/.github/workflows/ui-e2e-k3s-obs-Staging.yaml index 37327c885..29d74cb11 100644 --- a/.github/workflows/ui-e2e-k3s-obs-Staging.yaml +++ b/.github/workflows/ui-e2e-k3s-obs-Staging.yaml @@ -19,10 +19,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart - type: string jobs: ui: @@ -39,8 +35,8 @@ jobs: elemental_ui_version: dev iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Staging:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+k3s1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart proxy: ${{ inputs.proxy }} rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-e2e-k3s-stable.yaml b/.github/workflows/ui-e2e-k3s-stable.yaml index 9eca95ce6..869129738 100644 --- a/.github/workflows/ui-e2e-k3s-stable.yaml +++ b/.github/workflows/ui-e2e-k3s-stable.yaml @@ -16,9 +16,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - type: string schedule: - cron: '0 4 * * *' @@ -40,4 +37,3 @@ jobs: rancher_channel: 'stable' rancher_version: ${{ inputs.rancher_version || 'latest' }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-e2e-rke2-latest.yaml b/.github/workflows/ui-e2e-rke2-latest.yaml index 106bac3b3..dcbb51a54 100644 --- a/.github/workflows/ui-e2e-rke2-latest.yaml +++ b/.github/workflows/ui-e2e-rke2-latest.yaml @@ -12,9 +12,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: devel type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - type: string schedule: - cron: '0 4 * * *' @@ -37,4 +34,3 @@ jobs: rancher_channel: 'latest' rancher_version: ${{ inputs.rancher_version || 'devel' }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-e2e-rke2-obs-Dev.yaml b/.github/workflows/ui-e2e-rke2-obs-Dev.yaml index ca648511f..efc3b820c 100644 --- a/.github/workflows/ui-e2e-rke2-obs-Dev.yaml +++ b/.github/workflows/ui-e2e-rke2-obs-Dev.yaml @@ -16,10 +16,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart - type: string jobs: ui: @@ -38,7 +34,7 @@ jobs: elemental_ui_version: dev iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Dev:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+rke2r1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-e2e-rke2-obs-Stable.yaml b/.github/workflows/ui-e2e-rke2-obs-Stable.yaml index 8491f3efc..5d5abe905 100644 --- a/.github/workflows/ui-e2e-rke2-obs-Stable.yaml +++ b/.github/workflows/ui-e2e-rke2-obs-Stable.yaml @@ -20,10 +20,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: devel type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart - type: string jobs: ui: @@ -42,7 +38,7 @@ jobs: elemental_ui_version: ${{ inputs.elemental_ui_version }} iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Stable:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+rke2r1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-e2e-rke2-obs-Staging.yaml b/.github/workflows/ui-e2e-rke2-obs-Staging.yaml index 678245bb9..35231b654 100644 --- a/.github/workflows/ui-e2e-rke2-obs-Staging.yaml +++ b/.github/workflows/ui-e2e-rke2-obs-Staging.yaml @@ -16,10 +16,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart - type: string jobs: ui: @@ -38,7 +34,7 @@ jobs: elemental_ui_version: dev iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Staging:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+rke2r1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-e2e-rke2-stable.yaml b/.github/workflows/ui-e2e-rke2-stable.yaml index 94aefed21..60c3d7b33 100644 --- a/.github/workflows/ui-e2e-rke2-stable.yaml +++ b/.github/workflows/ui-e2e-rke2-stable.yaml @@ -12,9 +12,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - type: string schedule: - cron: '0 4 * * *' @@ -40,4 +37,3 @@ jobs: rancher_channel: 'stable' rancher_version: ${{ inputs.rancher_version || 'latest' }} test_type: ui - upgrade_operator: ${{ inputs.upgrade_operator }} diff --git a/.github/workflows/ui-k3s-os-upgrade-rancher_stable.yaml b/.github/workflows/ui-k3s-os-upgrade-rancher_stable.yaml index 52bce79db..b8ac5a57f 100644 --- a/.github/workflows/ui-k3s-os-upgrade-rancher_stable.yaml +++ b/.github/workflows/ui-k3s-os-upgrade-rancher_stable.yaml @@ -33,10 +33,10 @@ jobs: elemental_ui_version: dev iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Stable:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+k3s1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart proxy: ${{ inputs.proxy || 'elemental' }} rancher_channel: 'stable' rancher_version: ${{ inputs.rancher_version || 'latest' }} test_type: ui 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_operator: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart diff --git a/.github/workflows/ui-k3s-os-upgrade.yaml b/.github/workflows/ui-k3s-os-upgrade.yaml index 1fca247b1..198f08ce3 100644 --- a/.github/workflows/ui-k3s-os-upgrade.yaml +++ b/.github/workflows/ui-k3s-os-upgrade.yaml @@ -12,6 +12,10 @@ on: description: ISO to test default: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Stable:/Teal53/media/iso/elemental-teal.x86_64.iso type: string + operator_version: + description: Elemental operator version to use + default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart + type: string proxy: description: Deploy a proxy (none/rancher/elemental) default: elemental @@ -24,10 +28,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart - type: string upgrade_os_channel: description: Channel to use for the Elemental OS upgrade default: dev @@ -47,11 +47,11 @@ jobs: elemental_ui_version: dev iso_to_test: ${{ inputs.iso_to_test }} k8s_version_to_provision: v1.25.7+k3s1 + operator_version: ${{ inputs.operator_version }} proxy: ${{ inputs.proxy }} rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} test_type: ui 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_operator: ${{ inputs.upgrade_operator }} upgrade_os_channel: ${{ inputs.upgrade_os_channel }} diff --git a/.github/workflows/ui-rke2-os-upgrade-rancher_stable.yaml b/.github/workflows/ui-rke2-os-upgrade-rancher_stable.yaml index 655872e96..2839150b7 100644 --- a/.github/workflows/ui-rke2-os-upgrade-rancher_stable.yaml +++ b/.github/workflows/ui-rke2-os-upgrade-rancher_stable.yaml @@ -34,9 +34,9 @@ jobs: elemental_ui_version: dev iso_to_test: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Stable:/Teal53/media/iso/elemental-teal.x86_64.iso k8s_version_to_provision: v1.25.7+rke2r1 + operator_version: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart rancher_channel: 'stable' rancher_version: ${{ inputs.rancher_version || 'latest' }} test_type: ui 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_operator: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart diff --git a/.github/workflows/ui-rke2-os-upgrade.yaml b/.github/workflows/ui-rke2-os-upgrade.yaml index 9877308f0..15b85d98d 100644 --- a/.github/workflows/ui-rke2-os-upgrade.yaml +++ b/.github/workflows/ui-rke2-os-upgrade.yaml @@ -12,6 +12,10 @@ on: description: ISO to test default: https://download.opensuse.org/repositories/isv:/Rancher:/Elemental:/Stable:/Teal53/media/iso/elemental-teal.x86_64.iso type: string + operator_version: + description: Elemental operator version to use + default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart + type: string proxy: description: Deploy a proxy (none/rancher/elemental) default: elemental @@ -24,10 +28,6 @@ on: description: Rancher Manager version to use for installation (fixed version or latest) default: latest type: string - upgrade_operator: - description: URL to elemental-operator version to upgrade to - default: oci://registry.opensuse.org/isv/rancher/elemental/stable/charts/rancher/elemental-operator-chart - type: string upgrade_os_channel: description: Channel to use for the Elemental OS upgrade default: dev @@ -48,11 +48,11 @@ jobs: elemental_ui_version: dev iso_to_test: ${{ inputs.iso_to_test }} k8s_version_to_provision: v1.25.7+rke2r1 + operator_version: ${{ inputs.operator_version }} proxy: ${{ inputs.proxy }} rancher_channel: ${{ inputs.rancher_channel }} rancher_version: ${{ inputs.rancher_version }} test_type: ui 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_operator: ${{ inputs.upgrade_operator }} upgrade_os_channel: ${{ inputs.upgrade_os_channel }} diff --git a/tests/Makefile b/tests/Makefile index cf969c16f..44c6277d2 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -82,5 +82,7 @@ e2e-uninstall-operator: ginkgo --label-filter uninstall-operator -r -v ./e2e e2e-upgrade-node: deps ginkgo --label-filter upgrade -r -v ./e2e +e2e-upgrade-operator: deps + ginkgo --label-filter upgrade-operator -r -v ./e2e start-cypress-tests: @./scripts/start-cypress-tests diff --git a/tests/e2e/install_test.go b/tests/e2e/install_test.go index 327f3310d..b0a77e33e 100644 --- a/tests/e2e/install_test.go +++ b/tests/e2e/install_test.go @@ -220,15 +220,6 @@ var _ = Describe("E2E - Install Rancher Manager", Label("install"), func() { GinkgoWriter.Printf("%s\n", out) Expect(err).To(Not(HaveOccurred())) } - - // Check Rancher image - rancherImage, err := kubectl.Run("get", "pod", - "--namespace", "cattle-system", - "-l", "app=rancher", - "-o", "jsonpath={.items[*].status.containerStatuses[*].image}", - ) - Expect(err).To(Not(HaveOccurred())) - GinkgoWriter.Printf("Rancher Image:\n%s\n", rancherImage) }) By("Configuring kubectl to use Rancher admin user", func() { @@ -292,9 +283,8 @@ var _ = Describe("E2E - Install Rancher Manager", Label("install"), func() { } By("Installing Elemental Operator", func() { - operatorChart := "oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart" err := kubectl.RunHelmBinaryWithCustomErr("upgrade", "--install", "elemental-operator", - operatorChart, + operatorVersion, "--namespace", "cattle-elemental-system", "--create-namespace", ) @@ -302,27 +292,6 @@ var _ = Describe("E2E - Install Rancher Manager", Label("install"), func() { err = k.WaitForNamespaceWithPod("cattle-elemental-system", "app=elemental-operator") Expect(err).To(Not(HaveOccurred())) - - // Check if an upgrade to a specific version is configured - if upgradeOperator != "" && upgradeOperator != operatorChart { - err = kubectl.RunHelmBinaryWithCustomErr("upgrade", "--install", "elemental-operator", - upgradeOperator, - "--namespace", "cattle-elemental-system", - "--create-namespace", - ) - Expect(err).To(Not(HaveOccurred())) - - err = k.WaitForNamespaceWithPod("cattle-elemental-system", "app=elemental-operator") - Expect(err).To(Not(HaveOccurred())) - - // Delay few seconds before checking - time.Sleep(misc.SetTimeout(60 * time.Second)) - } - - // Check elemental-operator image - operatorImage, err := misc.GetOperatorImage() - Expect(err).To(Not(HaveOccurred())) - GinkgoWriter.Printf("Operator Image:\n%s\n", operatorImage) }) }) }) diff --git a/tests/e2e/suite_test.go b/tests/e2e/suite_test.go index 7b1a1b9aa..5f30138e2 100644 --- a/tests/e2e/suite_test.go +++ b/tests/e2e/suite_test.go @@ -65,6 +65,8 @@ var ( isoBoot string k8sVersion string numberOfVMs int + operatorUpgrade string + operatorVersion string osImage string poolType string proxy string @@ -75,7 +77,6 @@ var ( testType string upgradeChannelList string upgradeImage string - upgradeOperator string upgradeOsChannel string upgradeType string usedNodes int @@ -146,6 +147,8 @@ var _ = BeforeSuite(func() { isoBoot = os.Getenv("ISO_BOOT") k8sVersion = os.Getenv("K8S_VERSION_TO_PROVISION") number := os.Getenv("VM_NUMBERS") + operatorUpgrade = os.Getenv("OPERATOR_UPGRADE") + operatorVersion = os.Getenv("OPERATOR_VERSION") poolType = os.Getenv("POOL") proxy = os.Getenv("PROXY") rancherChannel = os.Getenv("RANCHER_CHANNEL") @@ -155,7 +158,6 @@ var _ = BeforeSuite(func() { testType = os.Getenv("TEST_TYPE") upgradeChannelList = os.Getenv("UPGRADE_CHANNEL_LIST") upgradeImage = os.Getenv("UPGRADE_IMAGE") - upgradeOperator = os.Getenv("UPGRADE_OPERATOR") upgradeOsChannel = os.Getenv("UPGRADE_OS_CHANNEL") upgradeType = os.Getenv("UPGRADE_TYPE") diff --git a/tests/e2e/uninstall-operator_test.go b/tests/e2e/uninstall-operator_test.go index 2abd8c4fe..60479c2df 100644 --- a/tests/e2e/uninstall-operator_test.go +++ b/tests/e2e/uninstall-operator_test.go @@ -94,11 +94,6 @@ var _ = Describe("E2E - Uninstall Elemental Operator", Label("uninstall-operator err = k.WaitForNamespaceWithPod("cattle-elemental-system", "app=elemental-operator") Expect(err).To(Not(HaveOccurred())) - - // Check elemental-operator image - operatorImage, err := misc.GetOperatorImage() - Expect(err).To(Not(HaveOccurred())) - GinkgoWriter.Printf("Operator Image:\n%s\n", operatorImage) }) By("Creating a dumb MachineRegistration", func() { diff --git a/tests/e2e/upgrade_test.go b/tests/e2e/upgrade_test.go index bc889e73d..7efca2b7a 100644 --- a/tests/e2e/upgrade_test.go +++ b/tests/e2e/upgrade_test.go @@ -27,6 +27,31 @@ import ( "github.com/rancher/elemental/tests/e2e/helpers/misc" ) +var _ = Describe("E2E - Upgrading Elemental Operator", Label("upgrade-operator"), func() { + // Create kubectl context + // Default timeout is too small, so New() cannot be used + k := &kubectl.Kubectl{ + Namespace: "", + PollTimeout: misc.SetTimeout(300 * time.Second), + PollInterval: 500 * time.Millisecond, + } + + It("Upgrade operator", func() { + err := kubectl.RunHelmBinaryWithCustomErr("upgrade", "--install", "elemental-operator", + operatorUpgrade, + "--namespace", "cattle-elemental-system", + "--create-namespace", + ) + Expect(err).To(Not(HaveOccurred())) + + // Delay few seconds before checking, needed because we may have 2 pods at the same time + time.Sleep(misc.SetTimeout(30 * time.Second)) + + err = k.WaitForNamespaceWithPod("cattle-elemental-system", "app=elemental-operator") + Expect(err).To(Not(HaveOccurred())) + }) +}) + var _ = Describe("E2E - Upgrading node", Label("upgrade"), func() { var ( wg sync.WaitGroup