From 5a982d30eee487fe549f5bb3b8084d384fc5b9b1 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Tue, 14 Jan 2025 11:45:48 +0000 Subject: [PATCH 01/11] SOT version now parameterised in aio workflow --- .github/workflows/stackhpc-all-in-one.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index 83e6d793b..9095faebf 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -59,6 +59,10 @@ on: description: Whether to perform an upgrade type: boolean default: false + openstack-tests-version: + description: Git version of https://github.com/stackhpc/stackhpc-openstack-tests to use for testing + type: string + default: v0.0.1 secrets: KAYOBE_VAULT_PASSWORD: required: true @@ -448,7 +452,7 @@ jobs: -v $(pwd)/sot-results:/stack/sot-results \ -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \ $KAYOBE_IMAGE \ - /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/stackhpc-openstack-tests.yml' + /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/stackhpc-openstack-tests.yml -e sot_version=${{ inputs.openstack-tests-version }}' env: KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} From fee656c5000b818862b1e05365b0bc670120e228 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Tue, 14 Jan 2025 11:56:53 +0000 Subject: [PATCH 02/11] rename --- .github/workflows/stackhpc-all-in-one.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index 9095faebf..8045ca38a 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -59,7 +59,7 @@ on: description: Whether to perform an upgrade type: boolean default: false - openstack-tests-version: + openstack_tests_version: description: Git version of https://github.com/stackhpc/stackhpc-openstack-tests to use for testing type: string default: v0.0.1 @@ -452,7 +452,7 @@ jobs: -v $(pwd)/sot-results:/stack/sot-results \ -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \ $KAYOBE_IMAGE \ - /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/stackhpc-openstack-tests.yml -e sot_version=${{ inputs.openstack-tests-version }}' + /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/stackhpc-openstack-tests.yml -e sot_version=${{ inputs.openstack_tests_version }}' env: KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} From 4030a1124f175738f3891aaf8ccdf1001f46db43 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Tue, 14 Jan 2025 13:06:10 +0000 Subject: [PATCH 03/11] typo --- .github/workflows/stackhpc-all-in-one.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index 8045ca38a..5e9387884 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -452,7 +452,7 @@ jobs: -v $(pwd)/sot-results:/stack/sot-results \ -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \ $KAYOBE_IMAGE \ - /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/stackhpc-openstack-tests.yml -e sot_version=${{ inputs.openstack_tests_version }}' + /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/stackhpc-openstack-tests.yml' -e sot_version=${{ inputs.openstack_tests_version }} env: KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} From c7b0870c9ae8137c2e2f25cbf51503621ad321c2 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Tue, 14 Jan 2025 15:21:09 +0000 Subject: [PATCH 04/11] changed variable name and tests url --- .github/workflows/stackhpc-all-in-one.yml | 6 +++--- doc/source/contributor/testing-ci-automation.rst | 6 +++--- etc/kayobe/ansible/stackhpc-openstack-tests.yml | 2 +- .../notes/stackhpc-openstack-tests-0224908453ae72cc.yaml | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index 5e9387884..e1b599f71 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -59,8 +59,8 @@ on: description: Whether to perform an upgrade type: boolean default: false - openstack_tests_version: - description: Git version of https://github.com/stackhpc/stackhpc-openstack-tests to use for testing + stackhpc_cloud_tests_version: + description: Git version of https://github.com/stackhpc/stackhpc-cloud-tests to use for testing type: string default: v0.0.1 secrets: @@ -452,7 +452,7 @@ jobs: -v $(pwd)/sot-results:/stack/sot-results \ -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \ $KAYOBE_IMAGE \ - /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/stackhpc-openstack-tests.yml' -e sot_version=${{ inputs.openstack_tests_version }} + /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/stackhpc-openstack-tests.yml' -e sot_version=${{ inputs.stackhpc_cloud_tests_version }} env: KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} diff --git a/doc/source/contributor/testing-ci-automation.rst b/doc/source/contributor/testing-ci-automation.rst index fef94e4ae..219744757 100644 --- a/doc/source/contributor/testing-ci-automation.rst +++ b/doc/source/contributor/testing-ci-automation.rst @@ -123,7 +123,7 @@ The workflow performs the following high-level steps: #. If this is an upgrade job, upgrade the cloud under test to the target release. #. Run Tempest and `StackHPC OpenStack Tests - `_ to test the cloud. + `_ to test the cloud. #. Collect diagnostic information. #. Upload results as an artifact. #. Destroy the VM using Terraform. @@ -346,11 +346,11 @@ The workflow performs the following high-level steps: #. Register test resources in the cloud under test (images, flavors, networks, subnets, routers, etc.). #. Run Tempest and `StackHPC OpenStack Tests - `__ to test the cloud. + `__ to test the cloud. #. If this is an upgrade job, upgrade the cloud under test to the target release. #. Run Tempest and `StackHPC OpenStack Tests - `__ to test the cloud. + `__ to test the cloud. #. Collect diagnostic information. #. Upload results as an artifact. #. Destroy the VMs using Terraform. diff --git a/etc/kayobe/ansible/stackhpc-openstack-tests.yml b/etc/kayobe/ansible/stackhpc-openstack-tests.yml index 0af91e79f..fc29faf47 100644 --- a/etc/kayobe/ansible/stackhpc-openstack-tests.yml +++ b/etc/kayobe/ansible/stackhpc-openstack-tests.yml @@ -5,7 +5,7 @@ - stackhpc-openstack-tests vars: sot_venv: "{{ virtualenv_path }}/sot-venv" - sot_repo: https://github.com/stackhpc/stackhpc-openstack-tests + sot_repo: https://github.com/stackhpc/stackhpc-cloud-tests sot_version: v0.0.1 sot_timeout: 30 results_path_local: "{{ lookup('env', 'HOME') }}/sot-results" diff --git a/releasenotes/notes/stackhpc-openstack-tests-0224908453ae72cc.yaml b/releasenotes/notes/stackhpc-openstack-tests-0224908453ae72cc.yaml index eb3c21266..c2a72184d 100644 --- a/releasenotes/notes/stackhpc-openstack-tests-0224908453ae72cc.yaml +++ b/releasenotes/notes/stackhpc-openstack-tests-0224908453ae72cc.yaml @@ -3,6 +3,6 @@ features: - | Adds a new ``stackhpc-openstack-tests.yml`` playbook that executes tests in the `StackHPC OpenStack Tests - `__ repository. Both + `__ repository. Both the playbook and tests are currently experimental, and are currently targeting only an all-in-one CI use case. From f362ae0556855b4b46d6473c45c047164c74f829 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Wed, 15 Jan 2025 12:41:32 +0000 Subject: [PATCH 05/11] unpinned cloud tests --- .github/workflows/stackhpc-all-in-one.yml | 2 +- etc/kayobe/ansible/stackhpc-openstack-tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index e1b599f71..85191ffa8 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -62,7 +62,7 @@ on: stackhpc_cloud_tests_version: description: Git version of https://github.com/stackhpc/stackhpc-cloud-tests to use for testing type: string - default: v0.0.1 + default: main secrets: KAYOBE_VAULT_PASSWORD: required: true diff --git a/etc/kayobe/ansible/stackhpc-openstack-tests.yml b/etc/kayobe/ansible/stackhpc-openstack-tests.yml index fc29faf47..4342356cb 100644 --- a/etc/kayobe/ansible/stackhpc-openstack-tests.yml +++ b/etc/kayobe/ansible/stackhpc-openstack-tests.yml @@ -6,7 +6,7 @@ vars: sot_venv: "{{ virtualenv_path }}/sot-venv" sot_repo: https://github.com/stackhpc/stackhpc-cloud-tests - sot_version: v0.0.1 + sot_version: main sot_timeout: 30 results_path_local: "{{ lookup('env', 'HOME') }}/sot-results" tasks: From 824f3a82d0926ca83ba3ff4d0053c831dc0c7c0d Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Wed, 15 Jan 2025 14:21:11 +0000 Subject: [PATCH 06/11] fixed outdated pyargs --- etc/kayobe/ansible/stackhpc-openstack-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/kayobe/ansible/stackhpc-openstack-tests.yml b/etc/kayobe/ansible/stackhpc-openstack-tests.yml index 4342356cb..b075a3fe1 100644 --- a/etc/kayobe/ansible/stackhpc-openstack-tests.yml +++ b/etc/kayobe/ansible/stackhpc-openstack-tests.yml @@ -66,7 +66,7 @@ {{ sot_venv }}/bin/py.test --html={{ results_tmpdir.path }}/stackhpc-openstack-tests.html --self-contained-html - --pyargs stackhpc_openstack_tests + --pyargs stackhpc_cloud_tests --timeout {{ sot_timeout }} -vv environment: From 1bd8b4aa62013ff106c8ad2a4475d4bd1962a810 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Wed, 15 Jan 2025 14:36:11 +0000 Subject: [PATCH 07/11] Parameterised repo to checkout --- .github/workflows/stackhpc-all-in-one.yml | 6 ++++++ .github/workflows/stackhpc-build-kayobe-image.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index 85191ffa8..2dd5709fc 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -63,6 +63,10 @@ on: description: Git version of https://github.com/stackhpc/stackhpc-cloud-tests to use for testing type: string default: main + repository: + description: SKC repository to checkout (convenience for CI) + type: string + default: ${{ github.repository }} secrets: KAYOBE_VAULT_PASSWORD: required: true @@ -98,6 +102,7 @@ jobs: - name: Checkout ${{ inputs.upgrade && 'previous release' || 'current' }} config uses: actions/checkout@v4 with: + repository: ${{ inputs.repository }} ref: ${{ inputs.upgrade && env.PREVIOUS_BRANCH || github.ref }} submodules: true @@ -371,6 +376,7 @@ jobs: - name: Checkout current release config uses: actions/checkout@v4 with: + repository: ${{ inputs.repository }} submodules: true clean: false if: inputs.upgrade diff --git a/.github/workflows/stackhpc-build-kayobe-image.yml b/.github/workflows/stackhpc-build-kayobe-image.yml index 677be9ac8..abb321463 100644 --- a/.github/workflows/stackhpc-build-kayobe-image.yml +++ b/.github/workflows/stackhpc-build-kayobe-image.yml @@ -29,6 +29,9 @@ on: description: Whether to run the workflow (workaround for required status checks issue) type: boolean default: true + repository: + type: string + default: ${{ github.repository }} outputs: kayobe_image: description: Reference of Kayobe image that was built @@ -53,6 +56,7 @@ jobs: - name: Checkout kayobe config uses: actions/checkout@v4 with: + repository: ${{ inputs.repository }} submodules: true - name: Log in to the Container registry From 1687d2442d438e16a96d00b39fb12da744b711f8 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Thu, 16 Jan 2025 09:35:43 +0000 Subject: [PATCH 08/11] removed repository param from build --- .github/workflows/stackhpc-build-kayobe-image.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/stackhpc-build-kayobe-image.yml b/.github/workflows/stackhpc-build-kayobe-image.yml index abb321463..677be9ac8 100644 --- a/.github/workflows/stackhpc-build-kayobe-image.yml +++ b/.github/workflows/stackhpc-build-kayobe-image.yml @@ -29,9 +29,6 @@ on: description: Whether to run the workflow (workaround for required status checks issue) type: boolean default: true - repository: - type: string - default: ${{ github.repository }} outputs: kayobe_image: description: Reference of Kayobe image that was built @@ -56,7 +53,6 @@ jobs: - name: Checkout kayobe config uses: actions/checkout@v4 with: - repository: ${{ inputs.repository }} submodules: true - name: Log in to the Container registry From 9f4d52703be189a86b2225beea590101200d92f3 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Thu, 16 Jan 2025 10:06:32 +0000 Subject: [PATCH 09/11] made ref overridable for external repos --- .github/workflows/stackhpc-all-in-one.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index 2dd5709fc..5e980210c 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -63,10 +63,18 @@ on: description: Git version of https://github.com/stackhpc/stackhpc-cloud-tests to use for testing type: string default: main + called_from_external: + description: Set if using the workflow from an external repository + type: boolean + default: false repository: description: SKC repository to checkout (convenience for CI) type: string default: ${{ github.repository }} + external_ref_override: + description: Git ref to checkout, only used if called_from_external is true + type: string + default: ${{ github.ref }} secrets: KAYOBE_VAULT_PASSWORD: required: true @@ -103,7 +111,7 @@ jobs: uses: actions/checkout@v4 with: repository: ${{ inputs.repository }} - ref: ${{ inputs.upgrade && env.PREVIOUS_BRANCH || github.ref }} + ref: ${{ inputs.upgrade && env.PREVIOUS_BRANCH || inputs.called_from_external && inputs.external_ref_override || github.ref }} submodules: true - name: Output Kayobe image From ce6c53233b9807654254d83ed07279fca10a2ba9 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Fri, 17 Jan 2025 13:25:32 +0000 Subject: [PATCH 10/11] simplified ref variables --- .github/workflows/stackhpc-all-in-one.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index 5e980210c..d48506010 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -63,16 +63,12 @@ on: description: Git version of https://github.com/stackhpc/stackhpc-cloud-tests to use for testing type: string default: main - called_from_external: - description: Set if using the workflow from an external repository - type: boolean - default: false repository: - description: SKC repository to checkout (convenience for CI) + description: SKC repository to checkout (convenience for external CI) type: string default: ${{ github.repository }} - external_ref_override: - description: Git ref to checkout, only used if called_from_external is true + github_ref: + description: Git ref to checkout (convenience for external CI) type: string default: ${{ github.ref }} secrets: @@ -111,7 +107,7 @@ jobs: uses: actions/checkout@v4 with: repository: ${{ inputs.repository }} - ref: ${{ inputs.upgrade && env.PREVIOUS_BRANCH || inputs.called_from_external && inputs.external_ref_override || github.ref }} + ref: ${{ inputs.upgrade && env.PREVIOUS_BRANCH || inputs.github_ref }} submodules: true - name: Output Kayobe image @@ -385,6 +381,7 @@ jobs: uses: actions/checkout@v4 with: repository: ${{ inputs.repository }} + ref: ${{ inputs.github_ref }} submodules: true clean: false if: inputs.upgrade From f191051fa739a9065364a931f23c59568ab91097 Mon Sep 17 00:00:00 2001 From: wtripp180901 Date: Fri, 17 Jan 2025 15:55:13 +0000 Subject: [PATCH 11/11] reverted out of scope doc changes --- doc/source/contributor/testing-ci-automation.rst | 6 +++--- .../notes/stackhpc-openstack-tests-0224908453ae72cc.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/source/contributor/testing-ci-automation.rst b/doc/source/contributor/testing-ci-automation.rst index 219744757..fef94e4ae 100644 --- a/doc/source/contributor/testing-ci-automation.rst +++ b/doc/source/contributor/testing-ci-automation.rst @@ -123,7 +123,7 @@ The workflow performs the following high-level steps: #. If this is an upgrade job, upgrade the cloud under test to the target release. #. Run Tempest and `StackHPC OpenStack Tests - `_ to test the cloud. + `_ to test the cloud. #. Collect diagnostic information. #. Upload results as an artifact. #. Destroy the VM using Terraform. @@ -346,11 +346,11 @@ The workflow performs the following high-level steps: #. Register test resources in the cloud under test (images, flavors, networks, subnets, routers, etc.). #. Run Tempest and `StackHPC OpenStack Tests - `__ to test the cloud. + `__ to test the cloud. #. If this is an upgrade job, upgrade the cloud under test to the target release. #. Run Tempest and `StackHPC OpenStack Tests - `__ to test the cloud. + `__ to test the cloud. #. Collect diagnostic information. #. Upload results as an artifact. #. Destroy the VMs using Terraform. diff --git a/releasenotes/notes/stackhpc-openstack-tests-0224908453ae72cc.yaml b/releasenotes/notes/stackhpc-openstack-tests-0224908453ae72cc.yaml index c2a72184d..eb3c21266 100644 --- a/releasenotes/notes/stackhpc-openstack-tests-0224908453ae72cc.yaml +++ b/releasenotes/notes/stackhpc-openstack-tests-0224908453ae72cc.yaml @@ -3,6 +3,6 @@ features: - | Adds a new ``stackhpc-openstack-tests.yml`` playbook that executes tests in the `StackHPC OpenStack Tests - `__ repository. Both + `__ repository. Both the playbook and tests are currently experimental, and are currently targeting only an all-in-one CI use case.