Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synchronise master with upstream #400

Open
wants to merge 8 commits into
base: stackhpc/master
Choose a base branch
from
Open
32 changes: 28 additions & 4 deletions docker/bifrost/bifrost-base/Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -7,26 +7,51 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build

{% import "macros.j2" as macros with context %}

{% set venv_path='/var/lib/kolla/venv' %}

{{ macros.configure_user(name='bifrost') }}

{# NOTE(mgoddard): EPEL required for nginx #}
{{ macros.enable_extra_repos(['epel']) }}

{% set bifrost_base_packages = [
'cpio',
'cpio'
] %}

{% if base_package_type == 'rpm' %}
{% set bifrost_base_packages = bifrost_base_packages + [
'python3.12',
'python3.12-devel'
] %}
{% endif %}

{{ macros.install_packages(bifrost_base_packages | customizable("packages")) }}

ENV VENV /var/lib/kolla/venv
{# Ensure we use Python 3.12 on RPM-based systems #}
{% if base_package_type == 'rpm' %}
RUN cd /usr/bin && \
rm -f python3 && \
ln -s python3.12 python3
{% endif %}

ENV VENV {{ venv_path }}

{% set bifrost_base_pip_packages = [
'/bifrost'
] %}

ADD bifrost-base-archive /bifrost-base-source
COPY build_arg.yml /tmp/build_arg.yml

RUN mkdir -p /requirements \
&& curl -o /requirements/upper-constraints.txt ${UPPER_CONSTRAINTS_FILE:-https://releases.openstack.org/constraints/upper/{{ openstack_release }}} \
&& python3 -m venv --system-site-packages {{ venv_path }} \
&& KOLLA_DISTRO_PYTHON_VERSION=$(/usr/bin/python3 -c "import sys; print('{}.{}'.format(sys.version_info.major, sys.version_info.minor))") \
&& cd {{ venv_path }}/lib \
&& ln -s python${KOLLA_DISTRO_PYTHON_VERSION} {{ venv_path }}/lib/python3

RUN ln -s bifrost-base-source/* bifrost \
&& {{ macros.install_pip(['pip', 'wheel', 'setuptools']) }} \
&& {{ macros.install_pip(bifrost_base_pip_packages | customizable("pip_packages")) }}

WORKDIR /bifrost
@@ -37,11 +62,10 @@ ENV ANSIBLE_GATHER_TIMEOUT=30
{% block bifrost_ansible_install %}
{%- if base_package_type == 'deb' %}
RUN apt-get --error-on=any update && \
bash -c '$VENV/bin/pip install "ansible>=9,<10" && \
{%- else %}
RUN echo " " && \
bash -c '$VENV/bin/pip install "ansible>=8,<9" && \
{%- endif %}
bash -c '$VENV/bin/pip install "ansible>=11,<12" && \
$VENV/bin/ansible-galaxy collection install -r /bifrost/ansible-collections-requirements.yml && \
$VENV/bin/ansible-playbook -vvvv -i /bifrost/playbooks/inventory/target \
/bifrost/playbooks/install.yaml \
1 change: 1 addition & 0 deletions docker/ironic/ironic-pxe/Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -14,6 +14,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'grub2-efi-*64',
'grub2-efi-aa64-modules',
'ipxe-bootimgs',
'ipxe-bootimgs-aarch64',
'mtools',
'shim-*64',
'tftp-server',
7 changes: 6 additions & 1 deletion docker/ironic/ironic-pxe/extend_start.sh
Original file line number Diff line number Diff line change
@@ -43,7 +43,12 @@ function prepare_ipxe {
# was ipxe.efi. Ensure that both exist, using symlinks where the files are
# named differently to allow the original names to be used in ironic.conf.
if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then
cp /usr/lib/ipxe/{undionly.kpxe,ipxe.efi,snponly.efi} ${TFTPBOOT_PATH}/
# NOTE(m-anson): ipxe-arm64.efi is not symlinked from /boot to
# /usr/lib/ipxe by the Ubuntu ipxe package, so fix that here.
if [[ -e /boot/ipxe-arm64.efi ]]; then
ln -s /boot/ipxe-arm64.efi /usr/lib/ipxe/
fi
cp /usr/lib/ipxe/{undionly.kpxe,ipxe*.efi,snponly.efi} ${TFTPBOOT_PATH}/
elif [[ "${KOLLA_BASE_DISTRO}" =~ centos|rocky ]]; then
cp /usr/share/ipxe/{undionly.kpxe,ipxe*.efi} ${TFTPBOOT_PATH}/
if [[ ! -e ${TFTPBOOT_PATH}/ipxe.efi ]]; then
5 changes: 3 additions & 2 deletions docker/neutron/neutron-l3-agent/Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -11,13 +11,14 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set neutron_l3_agent_packages = [
'libreswan',
'radvd',
'dibbler-client'
'dibbler-client',
] %}
{% elif base_package_type == 'deb' %}
{% set neutron_l3_agent_packages = [
'strongswan',
'radvd',
'dibbler-client'
'dibbler-client',
'libnetfilter-log1'
] %}
{% endif %}

1 change: 1 addition & 0 deletions docker/nova/nova-libvirt/Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -46,6 +46,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'libsasl2-modules-gssapi-mit',
'libvirt-clients',
'libvirt-daemon-system',
'mdevctl',
'openvswitch-switch',
'pm-utils',
'python3-cephfs',
9 changes: 9 additions & 0 deletions releasenotes/notes/aarch64-ipxe-51888a5972528d77.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
features:
- |
Adds aarch64 iPXE support to the ironic-pxe image, by adding
``ipxe-bootimgs-aarch64`` RPM package to Rocky Linux ironic-pxe
images, and ensuring that an aarch64 iPXE binary is available
in Ubuntu ironic-pxe images. No support for aarch64 iPXE in
Debian images is included, as the distro packages do not
install an aarch64 binary.
4 changes: 4 additions & 0 deletions releasenotes/notes/bifrost-ansible-11-d14b635f9f766675.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
upgrade:
- |
Bifrost is now using Ansible 11.x.
10 changes: 10 additions & 0 deletions releasenotes/notes/fix-fwaas-l3-log-aed85e0782dece8d.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
issues:
- |
libnetfilter_log, which is required in neutron-l3-agent when fwaas_v2_log
is enabled, is not available in official rpm repos and enabling this
feature on rpm platforms will prevent neutron-l3-agent from running.
fixes:
- |
libnnetfilter_log has been added to deb platforms in order to support
the fwaas_v2_log feature in neutron l3 agent.