From 1662e4e8e7ed431f2686ea3896dde32519e24848 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Fri, 7 Feb 2025 12:13:46 +0000 Subject: [PATCH 1/9] Update downstream kolla sources for master --- etc/kayobe/kolla.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index a1ec7150e..848d6c940 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -121,14 +121,6 @@ kolla_sources: type: git location: https://github.com/stackhpc/stackhpc-inspector-plugins.git reference: 1.3.0 - bifrost-base: - type: git - location: https://github.com/stackhpc/bifrost.git - reference: stackhpc/{{ openstack_release }} - cloudkitty-base: - type: git - location: https://github.com/stackhpc/cloudkitty.git - reference: stackhpc/{{ openstack_release }} horizon-plugin-cloudkitty-dashboard: type: git location: https://github.com/stackhpc/cloudkitty-dashboard.git @@ -154,14 +146,6 @@ kolla_sources: type: git location: https://github.com/stackhpc/networking-mlnx reference: stackhpc/{{ openstack_release }} - octavia-base: - type: git - location: https://github.com/stackhpc/octavia.git - reference: stackhpc/{{ openstack_release }} - blazar-base: - type: git - location: https://github.com/stackhpc/blazar - reference: stackhpc/master ############################################################################### # Kolla image build configuration. From 2fbd90459a3d3317af70e2592ee3739e2112c47e Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Wed, 12 Feb 2025 13:31:30 +0000 Subject: [PATCH 2/9] testo --- etc/kayobe/kolla.yml | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 848d6c940..72a5cddae 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -140,12 +140,12 @@ kolla_sources: reference: stackhpc/{{ openstack_release }} neutron-server-plugin-networking-mlnx: type: git - location: https://github.com/stackhpc/networking-mlnx - reference: stackhpc/{{ openstack_release }} + location: https://opendev.org/x/networking-mlnx + reference: master nova-compute-plugin-networking-mlnx: type: git - location: https://github.com/stackhpc/networking-mlnx - reference: stackhpc/{{ openstack_release }} + location: https://opendev.org/x/networking-mlnx + reference: master ############################################################################### # Kolla image build configuration. @@ -167,12 +167,6 @@ stackhpc_rocky_9_additional_repos: - url: "{{ stackhpc_repo_centos_stream_9_nfv_openvswitch_url }}" file: "CentOS-NFV-OpenvSwitch.repo" tag: "centos-nfv-openvswitch" - - url: "{{ stackhpc_repo_delorian_master_testing_url }}" - file: "DeLorean.repo" - tag: "delorean-master-testing" - - url: "{{ stackhpc_repo_delorian_master_build_deps_url }}" - file: "DeLorean.repo" - tag: "delorean-master-build-deps" - url: "{{ stackhpc_repo_centos_stream_9_opstools_url }}" file: "CentOS-OpsTools.repo" tag: "centos-opstools" From 183013bc2aaa28271c90c7e013e41bdeb08fe373 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Wed, 12 Feb 2025 15:30:58 +0000 Subject: [PATCH 3/9] testo2 --- etc/kayobe/kolla.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 72a5cddae..1b60b71b5 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -349,9 +349,13 @@ kolla_build_customizations_common: - python3-libvirt - python3-ethtool neutron_mlnx_agent_pip_packages_override: - - networking-mlnx@git+https://github.com/stackhpc/networking-mlnx@stackhpc/{{ openstack_release }} + - networking-mlnx@git+https://opendev.org/x/networking-mlnx@master kolla_build_customizations_rocky: + base_centos_yum_repo_packages_append: + - centos-release-ceph-squid + base_centos_yum_repo_packages_remove: + - centos-release-ceph-reef kolla_toolbox_packages_remove: - openvswitch kolla_toolbox_packages_append: From 79b30bf8cc0375d75103c2bd5b43170848e7dc73 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Wed, 12 Feb 2025 15:41:51 +0000 Subject: [PATCH 4/9] testo3 --- etc/kayobe/kolla.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 1b60b71b5..97df536d3 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -356,6 +356,8 @@ kolla_build_customizations_rocky: - centos-release-ceph-squid base_centos_yum_repo_packages_remove: - centos-release-ceph-reef + base_centos_yum_repos_to_disable_remove: + - centos-ceph-reef kolla_toolbox_packages_remove: - openvswitch kolla_toolbox_packages_append: From 5a71a591b892bf2b7499016e33342eb896a07d08 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Thu, 13 Feb 2025 10:04:01 +0000 Subject: [PATCH 5/9] testo4 --- etc/kayobe/kolla.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 97df536d3..952c55daa 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -358,6 +358,7 @@ kolla_build_customizations_rocky: - centos-release-ceph-reef base_centos_yum_repos_to_disable_remove: - centos-ceph-reef + - epel kolla_toolbox_packages_remove: - openvswitch kolla_toolbox_packages_append: From d3c5079b5334b1a6c8a1c3a9a1e6d64ff0237270 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Thu, 13 Feb 2025 10:36:38 +0000 Subject: [PATCH 6/9] Add Kolla image tags for master --- etc/kayobe/kolla-image-tags.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/kayobe/kolla-image-tags.yml b/etc/kayobe/kolla-image-tags.yml index 186f45fd2..648d98334 100644 --- a/etc/kayobe/kolla-image-tags.yml +++ b/etc/kayobe/kolla-image-tags.yml @@ -5,5 +5,5 @@ # TODO: Build real master images kolla_image_tags: openstack: - rocky-9: master-rocky-9-placeholder - ubuntu-noble: master-ubuntu-noble-placeholder + rocky-9: master-rocky-9-20250213T114650 + ubuntu-noble: master-ubuntu-noble-20250213T091307 From d7cfc10b3da8aebdb05e738a4c57eadfe5f9c233 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Thu, 13 Feb 2025 10:59:25 +0000 Subject: [PATCH 7/9] Define master overcloud host image tags --- etc/kayobe/pulp-host-image-versions.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/kayobe/pulp-host-image-versions.yml b/etc/kayobe/pulp-host-image-versions.yml index fa91d4657..4ecd4e1fb 100644 --- a/etc/kayobe/pulp-host-image-versions.yml +++ b/etc/kayobe/pulp-host-image-versions.yml @@ -2,5 +2,5 @@ # Overcloud host image versioning tags # These images must be in SMS, since they are used by our AIO CI runners # TODO: Build real master images -stackhpc_rocky_9_overcloud_host_image_version: "2024.1-20241209T151515" -stackhpc_ubuntu_noble_overcloud_host_image_version: "2024.1-20250116T133659" +stackhpc_rocky_9_overcloud_host_image_version: "master-20250213T092714" +stackhpc_ubuntu_noble_overcloud_host_image_version: "master-20250213T092714" From 8d3defce60ccd3e64b9e178974ee3617e14b04d6 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Thu, 13 Feb 2025 12:51:42 +0000 Subject: [PATCH 8/9] enable CI --- .github/workflows/stackhpc-pull-request.yml | 350 ++++++++++---------- 1 file changed, 175 insertions(+), 175 deletions(-) diff --git a/.github/workflows/stackhpc-pull-request.yml b/.github/workflows/stackhpc-pull-request.yml index b5cf19c06..5102f2e71 100644 --- a/.github/workflows/stackhpc-pull-request.yml +++ b/.github/workflows/stackhpc-pull-request.yml @@ -8,58 +8,58 @@ name: Pull request 'on': pull_request: jobs: - # # Detect which files have changed and use this to run jobs conditionally. - # # Note that we can't use the workflow-level paths attribute since this - # # would skip the workflow entirely, and would prevent us from making the - # # aio jobs required to pass (a skip counts as a pass). - # check-changes: - # runs-on: ubuntu-24.04 - # permissions: - # pull-requests: read - # name: Check changed files - # if: github.repository == 'stackhpc/stackhpc-kayobe-config' - # outputs: - # aio: ${{ steps.changes.outputs.aio }} - # build-kayobe-image: ${{ steps.changes.outputs.build-kayobe-image }} - # check-tags: ${{ steps.changes.outputs.check-tags }} - # steps: - # - name: GitHub Checkout - # uses: actions/checkout@v4 - - # - name: Check changed files - # uses: dorny/paths-filter@v3 - # id: changes - # with: - # # Filters are defined in this file. - # filters: .github/path-filters.yml - - # tox: - # runs-on: ubuntu-24.04 - # permissions: {} - # strategy: - # matrix: - # include: - # - environment: pep8 - # python-version: "3.10" - # - environment: releasenotes - # python-version: "3.10" - # - environment: docs - # python-version: "3.10" - # name: Tox ${{ matrix.environment }} with Python ${{ matrix.python-version }} - # if: github.repository == 'stackhpc/stackhpc-kayobe-config' - # steps: - # - name: GitHub Checkout ๐Ÿ›Ž - # uses: actions/checkout@v4 - # with: - # fetch-depth: 0 - # - name: Setup Python ${{ matrix.python-version }} ๐Ÿ - # uses: actions/setup-python@v5 - # with: - # python-version: ${{ matrix.python-version }} - # - name: Install Tox ๐Ÿ“ฆ - # run: pip install tox - # - name: Run Tox ${{ matrix.environment }} ๐Ÿงช - # run: tox -e ${{ matrix.environment }} + # Detect which files have changed and use this to run jobs conditionally. + # Note that we can't use the workflow-level paths attribute since this + # would skip the workflow entirely, and would prevent us from making the + # aio jobs required to pass (a skip counts as a pass). + check-changes: + runs-on: ubuntu-24.04 + permissions: + pull-requests: read + name: Check changed files + if: github.repository == 'stackhpc/stackhpc-kayobe-config' + outputs: + aio: ${{ steps.changes.outputs.aio }} + build-kayobe-image: ${{ steps.changes.outputs.build-kayobe-image }} + check-tags: ${{ steps.changes.outputs.check-tags }} + steps: + - name: GitHub Checkout + uses: actions/checkout@v4 + + - name: Check changed files + uses: dorny/paths-filter@v3 + id: changes + with: + # Filters are defined in this file. + filters: .github/path-filters.yml + + tox: + runs-on: ubuntu-24.04 + permissions: {} + strategy: + matrix: + include: + - environment: pep8 + python-version: "3.10" + - environment: releasenotes + python-version: "3.10" + - environment: docs + python-version: "3.10" + name: Tox ${{ matrix.environment }} with Python ${{ matrix.python-version }} + if: github.repository == 'stackhpc/stackhpc-kayobe-config' + steps: + - name: GitHub Checkout ๐Ÿ›Ž + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup Python ${{ matrix.python-version }} ๐Ÿ + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install Tox ๐Ÿ“ฆ + run: pip install tox + - name: Run Tox ${{ matrix.environment }} ๐Ÿงช + run: tox -e ${{ matrix.environment }} lint: runs-on: ubuntu-24.04 @@ -106,129 +106,129 @@ jobs: # when the parent jobs completed successfully or were skipped. We pass an # 'if' argument to the called workflow to allow running it conditionally. - # build-kayobe-image: - # name: Build Kayobe Image - # needs: - # - check-changes - # uses: ./.github/workflows/stackhpc-build-kayobe-image.yml - # with: - # if: ${{ needs.check-changes.outputs.build-kayobe-image == 'true' }} - # if: github.repository == 'stackhpc/stackhpc-kayobe-config' - - # check-tags: - # name: Check container image tags - # needs: - # - check-changes - # - build-kayobe-image - # uses: ./.github/workflows/stackhpc-check-tags.yml - # with: - # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} - # if: ${{ needs.check-changes.outputs.check-tags == 'true' }} - # secrets: inherit - # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} - - # all-in-one-ubuntu-noble-ovs: - # name: aio (Ubuntu Noble OVS) - # needs: - # - check-changes - # - build-kayobe-image - # uses: ./.github/workflows/stackhpc-all-in-one.yml - # with: - # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} - # os_distribution: ubuntu - # os_release: noble - # ssh_username: ubuntu - # neutron_plugin: ovs - # OS_CLOUD: openstack - # if: ${{ needs.check-changes.outputs.aio == 'true' }} - # secrets: inherit - # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} - - # all-in-one-ubuntu-noble-ovn: - # name: aio (Ubuntu Noble OVN) - # needs: - # - check-changes - # - build-kayobe-image - # uses: ./.github/workflows/stackhpc-all-in-one.yml - # with: - # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} - # os_distribution: ubuntu - # os_release: noble - # ssh_username: ubuntu - # neutron_plugin: ovn - # OS_CLOUD: openstack - # if: ${{ needs.check-changes.outputs.aio == 'true' }} - # secrets: inherit - # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} - - # all-in-one-rocky-9-ovs: - # name: aio (Rocky 9 OVS) - # needs: - # - check-changes - # - build-kayobe-image - # uses: ./.github/workflows/stackhpc-all-in-one.yml - # with: - # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} - # os_distribution: rocky - # os_release: "9" - # ssh_username: cloud-user - # neutron_plugin: ovs - # OS_CLOUD: openstack - # if: ${{ needs.check-changes.outputs.aio == 'true' }} - # secrets: inherit - # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} - - # all-in-one-rocky-9-ovn: - # name: aio (Rocky 9 OVN) - # needs: - # - check-changes - # - build-kayobe-image - # uses: ./.github/workflows/stackhpc-all-in-one.yml - # with: - # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} - # os_distribution: rocky - # os_release: "9" - # ssh_username: cloud-user - # neutron_plugin: ovn - # OS_CLOUD: openstack - # if: ${{ needs.check-changes.outputs.aio == 'true' }} - # secrets: inherit - # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} + build-kayobe-image: + name: Build Kayobe Image + needs: + - check-changes + uses: ./.github/workflows/stackhpc-build-kayobe-image.yml + with: + if: ${{ needs.check-changes.outputs.build-kayobe-image == 'true' }} + if: github.repository == 'stackhpc/stackhpc-kayobe-config' + + check-tags: + name: Check container image tags + needs: + - check-changes + - build-kayobe-image + uses: ./.github/workflows/stackhpc-check-tags.yml + with: + kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} + if: ${{ needs.check-changes.outputs.check-tags == 'true' }} + secrets: inherit + if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} + + all-in-one-ubuntu-noble-ovs: + name: aio (Ubuntu Noble OVS) + needs: + - check-changes + - build-kayobe-image + uses: ./.github/workflows/stackhpc-all-in-one.yml + with: + kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} + os_distribution: ubuntu + os_release: noble + ssh_username: ubuntu + neutron_plugin: ovs + OS_CLOUD: openstack + if: ${{ needs.check-changes.outputs.aio == 'true' }} + secrets: inherit + if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} + + all-in-one-ubuntu-noble-ovn: + name: aio (Ubuntu Noble OVN) + needs: + - check-changes + - build-kayobe-image + uses: ./.github/workflows/stackhpc-all-in-one.yml + with: + kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} + os_distribution: ubuntu + os_release: noble + ssh_username: ubuntu + neutron_plugin: ovn + OS_CLOUD: openstack + if: ${{ needs.check-changes.outputs.aio == 'true' }} + secrets: inherit + if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} + + all-in-one-rocky-9-ovs: + name: aio (Rocky 9 OVS) + needs: + - check-changes + - build-kayobe-image + uses: ./.github/workflows/stackhpc-all-in-one.yml + with: + kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} + os_distribution: rocky + os_release: "9" + ssh_username: cloud-user + neutron_plugin: ovs + OS_CLOUD: openstack + if: ${{ needs.check-changes.outputs.aio == 'true' }} + secrets: inherit + if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} + + all-in-one-rocky-9-ovn: + name: aio (Rocky 9 OVN) + needs: + - check-changes + - build-kayobe-image + uses: ./.github/workflows/stackhpc-all-in-one.yml + with: + kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} + os_distribution: rocky + os_release: "9" + ssh_username: cloud-user + neutron_plugin: ovn + OS_CLOUD: openstack + if: ${{ needs.check-changes.outputs.aio == 'true' }} + secrets: inherit + if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} # Test two upgrade scenarios: Ubuntu Noble OVS and Rocky 9 OVN. - # all-in-one-upgrade-ubuntu-noble-ovs: - # name: aio upgrade (Ubuntu Noble OVS) - # needs: - # - check-changes - # - build-kayobe-image - # uses: ./.github/workflows/stackhpc-all-in-one.yml - # with: - # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} - # os_distribution: ubuntu - # os_release: noble - # ssh_username: ubuntu - # neutron_plugin: ovs - # OS_CLOUD: openstack - # if: ${{ needs.check-changes.outputs.aio == 'true' }} - # upgrade: true - # secrets: inherit - # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} - - # all-in-one-upgrade-rocky-9-ovn: - # name: aio upgrade (Rocky 9 OVN) - # needs: - # - check-changes - # - build-kayobe-image - # uses: ./.github/workflows/stackhpc-all-in-one.yml - # with: - # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} - # os_distribution: rocky - # os_release: "9" - # ssh_username: cloud-user - # neutron_plugin: ovn - # OS_CLOUD: openstack - # if: ${{ needs.check-changes.outputs.aio == 'true' }} - # upgrade: true - # secrets: inherit - # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} + all-in-one-upgrade-ubuntu-noble-ovs: + name: aio upgrade (Ubuntu Noble OVS) + needs: + - check-changes + - build-kayobe-image + uses: ./.github/workflows/stackhpc-all-in-one.yml + with: + kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} + os_distribution: ubuntu + os_release: noble + ssh_username: ubuntu + neutron_plugin: ovs + OS_CLOUD: openstack + if: ${{ needs.check-changes.outputs.aio == 'true' }} + upgrade: true + secrets: inherit + if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} + + all-in-one-upgrade-rocky-9-ovn: + name: aio upgrade (Rocky 9 OVN) + needs: + - check-changes + - build-kayobe-image + uses: ./.github/workflows/stackhpc-all-in-one.yml + with: + kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} + os_distribution: rocky + os_release: "9" + ssh_username: cloud-user + neutron_plugin: ovn + OS_CLOUD: openstack + if: ${{ needs.check-changes.outputs.aio == 'true' }} + upgrade: true + secrets: inherit + if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }} From 8834a1dd92c16cc658f1ee9d8d8721d7bed7742a Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Fri, 14 Feb 2025 11:21:16 +0000 Subject: [PATCH 9/9] Test downgrading CI runner OS --- .github/workflows/stackhpc-build-kayobe-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stackhpc-build-kayobe-image.yml b/.github/workflows/stackhpc-build-kayobe-image.yml index eba0b2799..8c136bdb5 100644 --- a/.github/workflows/stackhpc-build-kayobe-image.yml +++ b/.github/workflows/stackhpc-build-kayobe-image.yml @@ -42,7 +42,7 @@ jobs: build-kayobe-image: name: Build kayobe image if: inputs.if || github.repository == 'stackhpc/stackhpc-kayobe-config' && github.event_name == 'push' - runs-on: ubuntu-24.04 + runs-on: ubuntu-22.04 permissions: contents: read packages: write