From dce6f7a85052f424479d8d43c44a1ad09ac56ef5 Mon Sep 17 00:00:00 2001 From: Goutham Pacha Ravi Date: Fri, 1 Aug 2025 10:53:05 -0700 Subject: [PATCH 1/4] Replace CLA instructions with DCO Change-Id: If336f67693a7aa234acf767b214c13ad61ee873f Signed-off-by: Goutham Pacha Ravi --- CONTRIBUTING.rst | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 150d49ca..c6aa2fc6 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -31,10 +31,16 @@ Bugs should be filed in launchpad, not GitHub: Contributing Code ----------------- -Bifrost requires a valid OpenStack contributor agreement to be signed before -code can be accepted. Details can be found in the development workflow link +In order to contribute to the bifrost project, you need to adhere +to the `Developer Certificate of Origin`_. OpenStack utilizes the Developer +Certificate of Origin (DCO) as a lightweight means to confirm that you are +entitled to contribute the code you submit. This ensures that you are +providing your contributions under the project's license and that you have +the right to do so. Details can be found in the development workflow link above. +.. _Developer Certificate of Origin: https://developercertificate.org/ + Code isn't committed directly (so pull requests won't work); instead, the code is submitted for review through Gerrit via git review, and once its been sufficiently reviewed it will be merged from there. @@ -45,7 +51,7 @@ Once that's done, the development workflow is, roughly:: $ cd bifrost $ git checkout -b some-branch-name ... hack hack hack ... - $ git commit + $ git commit -s $ git review ... The configuration details for this are in .gitreview. ... When the command runs, it will add a ChangeId to your commit From 1466c910515da56cb767b3f34aeae785de80f099 Mon Sep 17 00:00:00 2001 From: Afonne-CID Date: Tue, 28 Oct 2025 20:23:53 +0100 Subject: [PATCH 2/4] ILO driver retirement The iLO driver is considered retired as of this cycle. Change-Id: I7a37b0a9a1a6405ee369bccac94f6da37d164bb0 Signed-off-by: Afonne-CID --- playbooks/roles/bifrost-ironic-install/README.md | 2 +- playbooks/roles/bifrost-ironic-install/defaults/main.yml | 3 +-- playbooks/roles/bifrost-ironic-install/tasks/hw_types.yml | 7 ------- .../roles/bifrost-ironic-install/tasks/vendor_deps.yml | 7 ------- .../roles/bifrost-ironic-install/templates/ironic.conf.j2 | 4 ---- .../templates/nginx_conf.d_bifrost-httpboot.conf.j2 | 2 +- releasenotes/notes/retire-ilo-driver-da4317f3b1806ccd.yaml | 7 +++++++ 7 files changed, 10 insertions(+), 22 deletions(-) create mode 100644 releasenotes/notes/retire-ilo-driver-da4317f3b1806ccd.yaml diff --git a/playbooks/roles/bifrost-ironic-install/README.md b/playbooks/roles/bifrost-ironic-install/README.md index ea9a6e0b..4b98a54e 100644 --- a/playbooks/roles/bifrost-ironic-install/README.md +++ b/playbooks/roles/bifrost-ironic-install/README.md @@ -126,7 +126,7 @@ In case your HW needs a kernel option to boot, set the following variable: extra_kernel_options: Default undefined. Hardware types can be enabled using the "enabled_hardware_types" variable, -which defaults to "ipmi, ilo". +which defaults to "ipmi, redfish, manual-management". Enabled interfaces can be set via the "enabled_bios_interfaces", "enabled_boot_interfaces", "enabled_deploy_interfaces", diff --git a/playbooks/roles/bifrost-ironic-install/defaults/main.yml b/playbooks/roles/bifrost-ironic-install/defaults/main.yml index 2f2cb858..b8232bd2 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/main.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/main.yml @@ -219,7 +219,7 @@ ipa_git_folder: /opt/stack/ironic-python-agent ipa_builder_git_folder: /opt/stack/ironic-python-agent-builder prometheus_exporter_git_folder: /opt/stack/ironic-prometheus-exporter -enabled_hardware_types: "ipmi,redfish,manual-management,ilo" +enabled_hardware_types: "ipmi,redfish,manual-management" default_deploy_interface: "direct" enabled_deploy_interfaces: "direct,ramdisk" # These are calculated based on enabled_hardware_types if empty @@ -440,4 +440,3 @@ pxe_kernel_params: >- {% endif %} {{ extra_kernel_options | default('') }} redfish_kernel_params: "{{ pxe_kernel_params }}" -ilo_kernel_params: "{{ pxe_kernel_params }}" diff --git a/playbooks/roles/bifrost-ironic-install/tasks/hw_types.yml b/playbooks/roles/bifrost-ironic-install/tasks/hw_types.yml index e18d29f9..9d339cb0 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/hw_types.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/hw_types.yml @@ -23,7 +23,6 @@ enabled_bios_interfaces: >- # noqa jinja var-spacing no-bios {%- if "idrac" in enabled_hardware_types -%},idrac-redfish{%- endif -%} - {%- if "ilo" in enabled_hardware_types -%},ilo{%- endif -%} {%- if "redfish" in enabled_hardware_types -%},redfish{%- endif -%} when: not enabled_bios_interfaces @@ -32,7 +31,6 @@ enabled_boot_interfaces: >- # noqa jinja var-spacing ipxe,pxe {%- if "idrac" in enabled_hardware_types -%},idrac-redfish-virtual-media{%- endif -%} - {%- if "ilo" in enabled_hardware_types -%},ilo-virtual-media{%- endif -%} {%- if "redfish" in enabled_hardware_types -%},redfish-virtual-media{%- endif -%} {%- if "fake-hardware" in enabled_hardware_types -%},fake{%- endif -%} when: not enabled_boot_interfaces @@ -49,8 +47,6 @@ enabled_management_interfaces: >- # noqa jinja var-spacing noop {%- if "idrac" in enabled_hardware_types -%},idrac-redfish{%- endif -%} - {%- if "ilo" in enabled_hardware_types -%},ilo{%- endif -%} - {%- if "ilo5" in enabled_hardware_types -%},ilo5{%- endif -%} {%- if "ipmi" in enabled_hardware_types -%},ipmitool{%- endif -%} {%- if "redfish" in enabled_hardware_types -%},redfish{%- endif -%} {%- if "fake-hardware" in enabled_hardware_types -%},fake{%- endif -%} @@ -61,7 +57,6 @@ enabled_power_interfaces: >- # noqa jinja var-spacing fake {%- if "idrac" in enabled_hardware_types -%},idrac-redfish{%- endif -%} - {%- if "ilo" in enabled_hardware_types -%},ilo{%- endif -%} {%- if "ipmi" in enabled_hardware_types -%},ipmitool{%- endif -%} {%- if "redfish" in enabled_hardware_types -%},redfish{%- endif -%} {%- if enable_credential_less_deploy | bool -%},agent{%- endif -%} @@ -73,7 +68,6 @@ enabled_raid_interfaces: >- # noqa jinja var-spacing no-raid,agent {%- if "idrac" in enabled_hardware_types -%},idrac-redfish{%- endif -%} - {%- if "ilo5" in enabled_hardware_types -%},ilo5{%- endif -%} {%- if "redfish" in enabled_hardware_types -%},redfish{%- endif -%} when: not enabled_raid_interfaces @@ -82,7 +76,6 @@ enabled_vendor_interfaces: >- # noqa jinja var-spacing no-vendor {%- if "idrac" in enabled_hardware_types -%},idrac-redfish{%- endif -%} - {%- if "ilo" in enabled_hardware_types -%},ilo{%- endif -%} {%- if "ipmi" in enabled_hardware_types -%},ipmitool{%- endif -%} {%- if "redfish" in enabled_hardware_types -%},redfish{%- endif -%} when: not enabled_vendor_interfaces diff --git a/playbooks/roles/bifrost-ironic-install/tasks/vendor_deps.yml b/playbooks/roles/bifrost-ironic-install/tasks/vendor_deps.yml index c53d9da4..f940091b 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/vendor_deps.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/vendor_deps.yml @@ -11,13 +11,6 @@ # See the License for the specific language governing permissions and # limitations under the License. --- -- name: "proliantutils - Install" - include_role: - name: bifrost-pip-install - vars: - package: proliantutils - when: "'ilo' in enabled_hardware_types" - - name: "dracclient, sushy-oem-idrac - Install" include_role: name: bifrost-pip-install diff --git a/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 b/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 index cee54f40..2661cde0 100644 --- a/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 +++ b/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 @@ -138,10 +138,6 @@ allow_credentials = {{ enable_cors_credential_support | default('true') }} [ipmi] debug = {{ ironic_debug | bool and testing | bool }} -[ilo] -use_web_server_for_images = true -kernel_append_params = {{ ilo_kernel_params }} - [redfish] use_swift = False kernel_append_params = {{ redfish_kernel_params }} diff --git a/playbooks/roles/bifrost-ironic-install/templates/nginx_conf.d_bifrost-httpboot.conf.j2 b/playbooks/roles/bifrost-ironic-install/templates/nginx_conf.d_bifrost-httpboot.conf.j2 index 00d4cfe3..6ff087fd 100644 --- a/playbooks/roles/bifrost-ironic-install/templates/nginx_conf.d_bifrost-httpboot.conf.j2 +++ b/playbooks/roles/bifrost-ironic-install/templates/nginx_conf.d_bifrost-httpboot.conf.j2 @@ -8,7 +8,7 @@ server { } {% if vmedia_enable_tls | bool %} # Served only through TLS - location ~ ^/(redfish|ilo)/ { + location ~ ^/redfish/ { deny all; return 404; } diff --git a/releasenotes/notes/retire-ilo-driver-da4317f3b1806ccd.yaml b/releasenotes/notes/retire-ilo-driver-da4317f3b1806ccd.yaml new file mode 100644 index 00000000..d67d8096 --- /dev/null +++ b/releasenotes/notes/retire-ilo-driver-da4317f3b1806ccd.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + The ILO driver has been removed as of the 2026.1 release. + The 'ilo' and 'ilo5' hardware types have been removed from the default + 'enabled_hardware_types' list and all related configuration options, + dependencies, and interface support have been removed. From 0c3020cd057588f4e9efbc088db8dd06af5d8a24 Mon Sep 17 00:00:00 2001 From: Riccardo Pittau Date: Fri, 5 Dec 2025 11:07:30 +0100 Subject: [PATCH 3/4] Switch IPA ramdisk to debian DIB based The debian based IPA ramdisk is smaller and has a more recent default python version (3.13) compared to CentOS Stream 9. Change-Id: Ief1568bf545c937194ccd8df51dd417be494a190 Signed-off-by: Riccardo Pittau --- playbooks/roles/bifrost-ironic-install/defaults/main.yml | 2 +- releasenotes/notes/debian-default-2bb1d335f3ea515b.yaml | 5 +++++ zuul.d/bifrost-jobs.yaml | 2 -- 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/debian-default-2bb1d335f3ea515b.yaml diff --git a/playbooks/roles/bifrost-ironic-install/defaults/main.yml b/playbooks/roles/bifrost-ironic-install/defaults/main.yml index ef047e8a..56379d31 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/main.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/main.yml @@ -74,7 +74,7 @@ ipa_download_headers: {} ipa_kernel: "{{ http_boot_folder }}/ipa.kernel" ipa_ramdisk: "{{ http_boot_folder }}/ipa.initramfs" ipa_kernel_url: "{{ ipa_file_protocol }}://{{ internal_ip }}:{{ file_url_port }}/ipa.kernel" -ipa_download_distro: centos9 +ipa_download_distro: debian ipa_kernel_upstream_url: "{{ tarballs_base_url }}/dib/files/ipa-{{ ipa_download_distro }}-{{ ipa_upstream_release }}.kernel" ipa_kernel_upstream_checksum_algo: "sha256" ipa_kernel_upstream_checksum_url: "{{ ipa_kernel_upstream_url }}.{{ ipa_kernel_upstream_checksum_algo }}" diff --git a/releasenotes/notes/debian-default-2bb1d335f3ea515b.yaml b/releasenotes/notes/debian-default-2bb1d335f3ea515b.yaml new file mode 100644 index 00000000..d7c0bc3e --- /dev/null +++ b/releasenotes/notes/debian-default-2bb1d335f3ea515b.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + The default IPA ramdisk used in bifrost is now debian DIB based + which is smaller and compatible with more versions of GRUB. diff --git a/zuul.d/bifrost-jobs.yaml b/zuul.d/bifrost-jobs.yaml index 9691aab0..63f54e6b 100644 --- a/zuul.d/bifrost-jobs.yaml +++ b/zuul.d/bifrost-jobs.yaml @@ -210,8 +210,6 @@ enable_tls: true test_driver: redfish use_vmedia: true - # Use Debian-based IPA which is smaller and compatible with GRUB 2.06 - ipa_download_distro: "debian" - job: name: bifrost-tox-linters From 3a78feadc64edab5cab723c9dabe84545c740b2d Mon Sep 17 00:00:00 2001 From: Julia Kreger Date: Tue, 16 Dec 2025 07:58:47 -0800 Subject: [PATCH 4/4] Centos: set masked: false for firewalld It appears that Centos has changed the default firewall masking state and as such the playbook now fails. Adding masked: false to unmask the unit so hopefuly bifrost works as expected. Also, temporarily disables the bookworm job so we can un-wedge CI which is broken in multiple ways including centos breakages. Change-Id: Ib30795a88d4908fd1b78250b99a840bccb185ba3 Signed-off-by: Julia Kreger --- .../tasks/setup_firewalld.yml | 1 + zuul.d/project.yaml | 20 +++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/playbooks/roles/bifrost-ironic-install/tasks/setup_firewalld.yml b/playbooks/roles/bifrost-ironic-install/tasks/setup_firewalld.yml index 3c960eda..711bd943 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/setup_firewalld.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/setup_firewalld.yml @@ -16,6 +16,7 @@ name: firewalld state: started enabled: yes + masked: false - name: "Disable iptables (if enabled)" service: diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index fe33dd71..fa32b3d1 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -19,9 +19,17 @@ - bifrost-integration-redfish-vmedia-uefi-centos-10 - bifrost-integration-redfish-vmedia-uefi-ubuntu-noble - bifrost-integration-redfish-vmedia-uefi-ubuntu-jammy - - bifrost-integration-redfish-vmedia-uefi-debian-bookworm + - bifrost-integration-redfish-vmedia-uefi-debian-bookworm: + # NOTE(TheJulia): This should be fixed with change + # https://review.opendev.org/c/openstack/bifrost/+/969886 + # but we're presently broken on multiple aspects so this + # should be made voting again later. + voting: false - bifrost-upgrade-ubuntu-jammy - - bifrost-upgrade-keystone-centos-10 + - bifrost-upgrade-keystone-centos-10: + # NOTE(TheJulia): This needs to be made voting again once + # the fix has been merged for Centos10. + voting: false - bifrost-upgrade-keystone-ubuntu-noble # Non-voting jobs - bifrost-slurp-upgrade-ubuntu-jammy: @@ -73,9 +81,13 @@ - bifrost-integration-redfish-vmedia-uefi-centos-10 - bifrost-integration-redfish-vmedia-uefi-ubuntu-noble - bifrost-integration-redfish-vmedia-uefi-ubuntu-jammy - - bifrost-integration-redfish-vmedia-uefi-debian-bookworm + # NOTE(TheJulia): This should be fixed with change + # https://review.opendev.org/c/openstack/bifrost/+/969886 + # but we're presently broken on multiple aspects so this + # should be made voting again later. + #- bifrost-integration-redfish-vmedia-uefi-debian-bookworm - bifrost-upgrade-ubuntu-jammy - - bifrost-upgrade-keystone-centos-10 + # - bifrost-upgrade-keystone-centos-10 - bifrost-upgrade-keystone-ubuntu-noble experimental: jobs: