diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 0000000000..bdc98fc77a --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,67 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +# CodeRabbit review config file + +language: "en-GB" +reviews: + # Options are "quiet", "chill", "assertive" in order of nitpickyness + profile: "assertive" + # Don't automatically approves PRs + request_changes_workflow: false + # Summarise the PR in a comment + high_level_summary: true + # Summary instructions + high_level_summary_instructions: "Give a brief description of the changes in 50 words or less." + # Put summary in a comment, don't override the PR description + high_level_summary_in_walkthrough: true + # Post a comment e.g. when a review is skipped, why so + review_status: true + # Posts extra details about the review (ignored files, extra context used, suppressed comments, etc.) + review_details: true + # Don't suggest labels to apply to PRs + suggested_labels: false + # Don't suggest reviewers to add to the PR + suggested_reviewers: false + # Don't post a "fortune" message while the review is running + in_progress_fortune: false + # Don't include review comments to provide codegen instructions for AI agents. + enable_prompt_for_ai_agents: false + + # Auto review configuration + auto_review: + # Review things + enabled: true + # Review draft PRs + drafts: true + # Don't auto re-review on push (Can always be re-triggered manually) + auto_incremental_review: false + # Branches to auto-review PRs against + # Regex should match branch such as: + # stackhpc/2025.1 + # stackhpc-dev/2026.1 + # stackhpc-rc/2027.1 + base_branches: + - ^stackhpc/202\d\.1$ + - ^stackhpc-rc/202\d\.1$ + - ^stackhpc-dev/202\d\.1$ + # Ignore PRs by the CI bot + ignore_usernames: + - "stackhpc-ci" + + finishing_touches: + # Don't try to add docstrings and unit tests + docstrings: + enabled: false + unit_tests: + enabled: false + + pre_merge_checks: + # Ignore title/description checks + title: + mode: "off" + description: + mode: "off" + +# Additional context options +knowledge_base: + # Auto link to other repos in the org + automatic_repository_linking: true diff --git a/.github/auto-label.yaml b/.github/auto-label.yaml deleted file mode 100644 index 0adaf72840..0000000000 --- a/.github/auto-label.yaml +++ /dev/null @@ -1,55 +0,0 @@ ---- -path: - pullrequest: true - multipleLabelPaths: - - paths: - .automation: 'kayobe-automation' - .automation.conf: 'kayobe-automation' - - paths: - doc: 'documentation' - - paths: - .github: 'workflows' - etc: - kayobe: - enviromnents: - ci-aio: 'workflows' - ci-builder: 'workflows' - ci-multinode: 'workflows' - trivy: 'workflows' - terraform: 'workflows' - tools: - scan-images.sh: "workflows" - tox.ini: 'workflows' - - paths: - etc: - kayobe: - ansible: 'ansible' - ansible.cfg: 'ansible' - - paths: - etc: - kayobe: - kolla: - config: - fluentd: "monitoring" - grafana: "monitoring" - prometheus: "monitoring" - inventory: - group_vars: - prometheus-blackbox-exporter: "monitoring" - - paths: - etc: - kayobe: - kolla: - kolla-build.conf: "kolla" - kolla-image-tags.yml: "kolla" - kolla.yml: "kolla" - tools: - kolla-images.py: "kolla" - -staleness: - pullrequest: true - old: 30 - extraold: 90 - -requestsize: - enabled: true diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index fbfd8514d8..0d04ef1e7c 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -278,28 +278,6 @@ jobs: run: | docker image pull $KAYOBE_IMAGE - # Rocky 9 OVN deployments will fail when the hostname contains a '.' - - name: Fix hostname - run: | - docker run -t --rm \ - -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \ - -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \ - ${{ steps.kayobe_image.outputs.kayobe_image }} \ - /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh etc/kayobe/ansible${{ inputs.upgrade && '/' || '/fixes/' }}fix-hostname.yml - env: - KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} - - # Reboot to Apply hostname change - - name: Reboot - run: | - docker run -t --rm \ - -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \ - -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \ - ${{ steps.kayobe_image.outputs.kayobe_image }} \ - /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh etc/kayobe/ansible${{ inputs.upgrade && '/' || '/maintenance/' }}reboot.yml -e reboot_with_bootstrap_user=true - env: - KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }} - - name: Run growroot run: | docker run -t --rm \ diff --git a/etc/kayobe/ansible/maintenance/reset-bls-entries.yml b/etc/kayobe/ansible/maintenance/reset-bls-entries.yml index e26593b708..3d67798c78 100644 --- a/etc/kayobe/ansible/maintenance/reset-bls-entries.yml +++ b/etc/kayobe/ansible/maintenance/reset-bls-entries.yml @@ -10,30 +10,33 @@ tags: - reset-bls-entries tasks: - - name: Get machine ID - ansible.builtin.command: cat /etc/machine-id - register: machine_id - check_mode: false + - name: Reset BLS entries on RedHat-based systems + when: ansible_facts.os_family == 'RedHat' + block: + - name: Get machine ID + ansible.builtin.command: cat /etc/machine-id + register: machine_id + check_mode: false - - name: Find entries with wrong machine ID - ansible.builtin.find: - paths: /boot/loader/entries - patterns: "*.conf" - register: bls_entries - check_mode: false + - name: Find entries with wrong machine ID + ansible.builtin.find: + paths: /boot/loader/entries + patterns: "*.conf" + register: bls_entries + check_mode: false - # We set force to false to avoid replacing an existing BLS entry with the - # correct machine ID. - - name: Rename entries with wrong machine ID - ansible.builtin.copy: - src: /boot/loader/entries/{{ item }} - dest: /boot/loader/entries/{{ item | ansible.builtin.regex_replace('^[a-f0-9]*', machine_id.stdout) }} - force: false - remote_src: true - with_items: "{{ bls_entries.files | map(attribute='path') | reject('search', machine_id.stdout) | map('basename') }}" + # We set force to false to avoid replacing an existing BLS entry with the + # correct machine ID. + - name: Rename entries with wrong machine ID + ansible.builtin.copy: + src: /boot/loader/entries/{{ item }} + dest: /boot/loader/entries/{{ item | ansible.builtin.regex_replace('^[a-f0-9]*', machine_id.stdout) }} + force: false + remote_src: true + with_items: "{{ bls_entries.files | map(attribute='path') | reject('search', machine_id.stdout) | map('basename') }}" - - name: Remove entries with wrong machine ID - ansible.builtin.file: - path: /boot/loader/entries/{{ item }} - state: absent - with_items: "{{ bls_entries.files | map(attribute='path') | reject('search', machine_id.stdout) | map('basename') }}" + - name: Remove entries with wrong machine ID + ansible.builtin.file: + path: /boot/loader/entries/{{ item }} + state: absent + with_items: "{{ bls_entries.files | map(attribute='path') | reject('search', machine_id.stdout) | map('basename') }}" diff --git a/etc/kayobe/hooks/overcloud-host-package-update/post.d/20-reset-bls-entries b/etc/kayobe/hooks/overcloud-host-package-update/post.d/20-reset-bls-entries new file mode 120000 index 0000000000..8a594a37e1 --- /dev/null +++ b/etc/kayobe/hooks/overcloud-host-package-update/post.d/20-reset-bls-entries @@ -0,0 +1 @@ +../../../ansible/maintenance/reset-bls-entries.yml \ No newline at end of file diff --git a/etc/kayobe/hooks/overcloud-host-package-update/post.d/releasenotes/notes/reset-bls-entries-20375af82dfd3517.yaml b/etc/kayobe/hooks/overcloud-host-package-update/post.d/releasenotes/notes/reset-bls-entries-20375af82dfd3517.yaml new file mode 100644 index 0000000000..e852fb57ad --- /dev/null +++ b/etc/kayobe/hooks/overcloud-host-package-update/post.d/releasenotes/notes/reset-bls-entries-20375af82dfd3517.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Adds a hook to automatically fix BLS configuration files under + ``/boot/loader/entries`` after overcloud host package update. diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index d93ee6659a..62e4cdeed8 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -22,10 +22,14 @@ #ipa_build_source_version: # URL of IPA builder source repository. -#ipa_builder_source_url: +# NOTE(dougszu): This fork is required for centos-10 stream IPA images, which +# are required (currently) to provide a version of qemu-img that can handle +# 4k sectors from Dell Perc RAID controllers which don't support other block +# sizes. +ipa_builder_source_url: https://github.com/stackhpc/ironic-python-agent-builder.git # Version of IPA builder source repository. Default is {{ openstack_branch }}. -#ipa_builder_source_version: +ipa_builder_source_version: stackhpc/2025.1 # List of additional build host packages to install. Default is [ 'zstd' ]. #ipa_build_dib_host_packages_extra: diff --git a/etc/kayobe/kolla/globals.yml b/etc/kayobe/kolla/globals.yml index 250d642c11..b42d0f42b4 100644 --- a/etc/kayobe/kolla/globals.yml +++ b/etc/kayobe/kolla/globals.yml @@ -17,7 +17,7 @@ kolla_base_distro_and_version: "{% raw %}{{ kolla_base_distro }}-{{ kolla_base_d kolla_base_distro_version_default_map: { "centos": "stream9", "debian": "bookworm", - "rocky": "{{ os_release }}", + "rocky": "{% raw %}{{ ansible_facts.distribution_major_version }}{% endraw %}", "ubuntu": "noble", } diff --git a/etc/kayobe/ofed.yml b/etc/kayobe/ofed.yml index 28e1825470..6407446595 100644 --- a/etc/kayobe/ofed.yml +++ b/etc/kayobe/ofed.yml @@ -19,7 +19,7 @@ stackhpc_pulp_rocky_10_doca_version: "{{ stackhpc_pulp_doca_version_matrix[doca_ stackhpc_doca_kernel_version_matrix: "9.6": 5.14.0.570.21.1.el9.6 "9.7": 5.14.0.611.55.1.el9.7 - "9.8": 5.14.0.687.25.1.el9.8 + "9.8": 5.14.0.687.26.1.el9.8 "10.2": 6.12.0.211.33.1.el10.2 ############################################################################### diff --git a/etc/kayobe/pulp-host-image-versions.yml b/etc/kayobe/pulp-host-image-versions.yml index 892da56abd..624fbea894 100644 --- a/etc/kayobe/pulp-host-image-versions.yml +++ b/etc/kayobe/pulp-host-image-versions.yml @@ -1,8 +1,8 @@ --- # Overcloud host image versioning tags # These images must be in SMS, since they are used by our AIO CI runners -stackhpc_rocky_9_overcloud_host_image_version: 2025.1-20260715T072311 -stackhpc_rocky_9_overcloud_host_image_version_aarch64: 2025.1-20260715T072311 +stackhpc_rocky_9_overcloud_host_image_version: 2025.1-20260720T114136 +stackhpc_rocky_9_overcloud_host_image_version_aarch64: 2025.1-20260720T114136 stackhpc_rocky_10_overcloud_host_image_version: 2025.1-20260715T072311 stackhpc_rocky_10_overcloud_host_image_version_aarch64: 2025.1-20260715T072311 stackhpc_ubuntu_noble_overcloud_host_image_version: 2025.1-20260706T191822 diff --git a/etc/kayobe/pulp-repo-versions.yml b/etc/kayobe/pulp-repo-versions.yml index 0cccceb38b..d72b0f9c51 100644 --- a/etc/kayobe/pulp-repo-versions.yml +++ b/etc/kayobe/pulp-repo-versions.yml @@ -36,8 +36,8 @@ stackhpc_pulp_repo_doca_3_2_3_rhel10_2_modules_aarch64_version: 20260715T185525 stackhpc_pulp_repo_doca_3_2_3_rhel10_2_modules_version: 20260715T185525 stackhpc_pulp_repo_doca_3_2_3_rhel10_aarch64_version: 20260715T143437 stackhpc_pulp_repo_doca_3_2_3_rhel10_x86_64_version: 20260715T143437 -stackhpc_pulp_repo_doca_3_2_3_rhel9_8_modules_aarch64_version: 20260715T185525 -stackhpc_pulp_repo_doca_3_2_3_rhel9_8_modules_version: 20260715T185525 +stackhpc_pulp_repo_doca_3_2_3_rhel9_8_modules_aarch64_version: 20260720T160316 +stackhpc_pulp_repo_doca_3_2_3_rhel9_8_modules_version: 20260720T160316 stackhpc_pulp_repo_doca_3_2_3_rhel9_aarch64_version: 20260715T143437 stackhpc_pulp_repo_doca_3_2_3_rhel9_version: 20260715T143437 stackhpc_pulp_repo_docker_ce_ubuntu_noble_version: 20260704T203807 @@ -158,21 +158,21 @@ stackhpc_pulp_repo_rocky_9_7_highavailability_version: 20260514T220209 stackhpc_pulp_repo_rocky_9_7_security_aarch64_version: 20260519T222921 stackhpc_pulp_repo_rocky_9_7_security_source_version: 20260520T222157 stackhpc_pulp_repo_rocky_9_7_security_version: 20260520T215442 -stackhpc_pulp_repo_rocky_9_8_appstream_aarch64_version: 20260715T181215 -stackhpc_pulp_repo_rocky_9_8_appstream_source_version: 20260715T181215 -stackhpc_pulp_repo_rocky_9_8_appstream_version: 20260714T213458 -stackhpc_pulp_repo_rocky_9_8_baseos_aarch64_version: 20260714T221521 -stackhpc_pulp_repo_rocky_9_8_baseos_source_version: 20260713T053209 -stackhpc_pulp_repo_rocky_9_8_baseos_version: 20260714T220645 -stackhpc_pulp_repo_rocky_9_8_crb_aarch64_version: 20260713T223542 +stackhpc_pulp_repo_rocky_9_8_appstream_aarch64_version: 20260716T222443 +stackhpc_pulp_repo_rocky_9_8_appstream_source_version: 20260716T221817 +stackhpc_pulp_repo_rocky_9_8_appstream_version: 20260717T213842 +stackhpc_pulp_repo_rocky_9_8_baseos_aarch64_version: 20260717T221224 +stackhpc_pulp_repo_rocky_9_8_baseos_source_version: 20260717T220601 +stackhpc_pulp_repo_rocky_9_8_baseos_version: 20260716T222336 +stackhpc_pulp_repo_rocky_9_8_crb_aarch64_version: 20260717T221224 stackhpc_pulp_repo_rocky_9_8_crb_source_version: 20260710T221031 -stackhpc_pulp_repo_rocky_9_8_crb_version: 20260714T213458 +stackhpc_pulp_repo_rocky_9_8_crb_version: 20260716T214748 stackhpc_pulp_repo_rocky_9_8_extras_aarch64_version: 20260528T223707 stackhpc_pulp_repo_rocky_9_8_extras_source_version: 20260528T220844 stackhpc_pulp_repo_rocky_9_8_extras_version: 20260528T220059 -stackhpc_pulp_repo_rocky_9_8_highavailability_aarch64_version: 20260710T224503 -stackhpc_pulp_repo_rocky_9_8_highavailability_source_version: 20260624T223310 -stackhpc_pulp_repo_rocky_9_8_highavailability_version: 20260709T215352 +stackhpc_pulp_repo_rocky_9_8_highavailability_aarch64_version: 20260715T222005 +stackhpc_pulp_repo_rocky_9_8_highavailability_source_version: 20260716T221817 +stackhpc_pulp_repo_rocky_9_8_highavailability_version: 20260715T213338 stackhpc_pulp_repo_rocky_9_8_security_aarch64_version: 20260605T230645 stackhpc_pulp_repo_rocky_9_8_security_source_version: 20260605T225017 stackhpc_pulp_repo_rocky_9_8_security_version: 20260606T214954 diff --git a/etc/kayobe/stackhpc.yml b/etc/kayobe/stackhpc.yml index 122444a19d..2faa6af08e 100644 --- a/etc/kayobe/stackhpc.yml +++ b/etc/kayobe/stackhpc.yml @@ -230,7 +230,7 @@ stackhpc_kolla_source_version: stackhpc/20.4.0.10 # Kolla Ansible source repository. stackhpc_kolla_ansible_source_url: "https://github.com/stackhpc/kolla-ansible" -stackhpc_kolla_ansible_source_version: stackhpc/20.4.0.10 +stackhpc_kolla_ansible_source_version: stackhpc/20.4.0.11 ############################################################################### # Container image registry diff --git a/releasenotes/notes/r9-r10-kolla-base-distro-75078c4fbae4f785.yaml b/releasenotes/notes/r9-r10-kolla-base-distro-75078c4fbae4f785.yaml new file mode 100644 index 0000000000..46373b75af --- /dev/null +++ b/releasenotes/notes/r9-r10-kolla-base-distro-75078c4fbae4f785.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Uses host facts in ``kolla_base_distro_version_default_map`` to select + Rocky 9 or Rocky 10 Kolla images for each host. diff --git a/releasenotes/notes/rocky-98-python-update-ca5e831d408a67ba.yaml b/releasenotes/notes/rocky-98-python-update-ca5e831d408a67ba.yaml new file mode 100644 index 0000000000..184b7eaf18 --- /dev/null +++ b/releasenotes/notes/rocky-98-python-update-ca5e831d408a67ba.yaml @@ -0,0 +1,10 @@ +--- +features: + - | + An updated OFED kernel module has been built for the latest Rocky 9.8 + kernel (``5.14.0.687.26.1.el9.8``). +fixes: + - | + Python 3.9 has been updated in the Rocky 9.8 host image, which addresses + deployment issues caused by a previously introduced Python bug + (``ASN1: NOT_ENOUGH_DATA``).