Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions containers/ironic/buildrequirements.lock.master
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,11 @@ hatch-fancy-pypi-readme==25.1.0
hatch-vcs==0.5.0
hatchling==1.32.0
maturin==1.15.0
meson-python==0.20.0
meson==1.12.0
packaging==26.3
pathspec==1.1.1
pbr==7.0.3
pluggy==1.6.0
poetry-core==2.4.1
pyproject-metadata==0.12.1
semantic-version==2.10.0
setuptools-rust==1.13.0
setuptools-scm==10.2.1
Expand Down
3 changes: 3 additions & 0 deletions containers/ironic/ironic-api/bindeps.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ python3-pip
# (requires cryptography<44), causing an ImportError at runtime. Bump this
# pin once pyOpenSSL >= 25.0 lands in upper-constraints (drops the <44 cap).
python3-cryptography-43.0.0-4.el10
# python3-numpy is a dependency of websockify. The RPM version is compiled
# against system BLAS/LAPACK libraries. Building from source is very slow
python3-numpy
# Runtime shared libraries for pip-compiled cffi and lxml
libffi
libxml2
Expand Down
1 change: 1 addition & 0 deletions containers/ironic/ironic-api/builddeps.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ python3-setuptools
libffi-devel
openssl-devel
python3-cryptography
python3-numpy
# Required to build lxml (ironic depends on openstacksdk which needs lxml)
libxml2-devel
libxslt-devel
Expand Down
5 changes: 5 additions & 0 deletions containers/ironic/ironic-conductor/Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,14 @@ ARG PIP_NO_BINARY=""
ENV PIP_NO_BINARY=${PIP_NO_BINARY}
# required to build rpds-py from source
ENV MATURIN_NO_INSTALL_RUST=true
ENV DOWNLOADS_X64="ipxe-bootimgs-x86 grub2-efi-x64 shim-x64"
ENV DOWNLOADS_AARCH64=""
ENV DOWNLOADS_ALL="${DOWNLOADS_X64} ${DOWNLOADS_AARCH64}"

COPY ironic-conductor/builddeps.txt /tmp/builddeps.txt
RUN pkgs=$(cat /tmp/builddeps.txt | grep -v '^#' | grep -v '^$' | tr '\n' ' ') && \
for dl in ${DOWNLOADS_ALL}; do pkgs=$(echo " ${pkgs} " | sed "s/ ${dl} / /g"); done && \
pkgs=$(echo "${pkgs}" | tr -s ' ' | sed 's/^ //;s/ $//') && \
if [ -n "${pkgs}" ]; then microdnf -y install ${pkgs} && microdnf clean all; fi

COPY ironic-conductor/pythonbuilddeps.txt /tmp/pythonbuilddeps.txt
Expand Down
7 changes: 3 additions & 4 deletions containers/ironic/ironic-conductor/bindeps.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ python3-pip
python3-cryptography-43.0.0-4.el10
# python3-systemd has C bindings to libsystemd (cannot install via pip)
python3-systemd
# python3-numpy is a dependency of websockify. The RPM version is compiled
# against system BLAS/LAPACK libraries. Building from source is very slow
python3-numpy
# Conductor: disk/ISO/image tools
cpio
dosfstools
e2fsprogs
gdisk
mtools
parted
qemu-img
Expand All @@ -23,7 +25,6 @@ xorriso
ipmitool
openssh-clients
# Conductor: process management
inotify-tools
psmisc
util-linux
# Conductor: kickstart support
Expand All @@ -33,5 +34,3 @@ httpd
mod_ssl
dnsmasq
iproute
# Conductor: BIOS boot (not available on aarch64)
syslinux-nonlinux
9 changes: 6 additions & 3 deletions containers/ironic/ironic-conductor/builddeps.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ python3-setuptools
libffi-devel
openssl-devel
python3-cryptography
python3-numpy
# Required to build lxml (ironic depends on openstacksdk which needs lxml)
libxml2-devel
libxslt-devel
Expand All @@ -16,10 +17,12 @@ rust
# To build rpds-py from source
cargo
# PXE boot asset packages (downloaded and extracted by extract-boot-assets.sh)
ipxe-bootimgs
ipxe-bootimgs-x86
grub2-efi-x64
shim
# Needed by extract-boot-assets.sh for rpm2cpio extraction and ESP image build
shim-x64
# Needed by extract-boot-assets.sh for bootloader package extraction and ESP image build
dnf
dnf-plugins-core
cpio
dosfstools
mtools
3 changes: 2 additions & 1 deletion containers/ironic/ironic-conductor/extract-boot-assets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ mkdir -p ${TARGET_DIR}/tftpboot/pxelinux.cfg
# Download boot asset packages for x86_64
mkdir -p ${WORKDIR}/x86_64
cd ${WORKDIR}/x86_64
microdnf download ipxe-bootimgs-x86 grub2-efi-x64 shim-x64
dnf download ${DOWNLOADS_X64}
dnf clean all

# Extract x86_64 RPMs
for rpm in *.rpm; do
Expand Down
29 changes: 14 additions & 15 deletions containers/ironic/requirements.lock.master
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
alembic==1.18.5
alembic==1.19.1
amqp==5.3.1
attrs==26.1.0
automaton==3.4.0
automaton==3.5.0
bcrypt==5.0.0
cachetools==7.1.7
certifi==2026.7.22
Expand Down Expand Up @@ -29,8 +29,8 @@ jsonpointer==3.1.1
jsonschema==4.26.0
jsonschema-specifications==2025.9.1
jwcrypto==1.5.8
keystoneauth1==5.15.0
keystonemiddleware==13.0.0
keystoneauth1==5.16.0
keystonemiddleware==13.0.1
kombu==5.6.2
lark==1.3.1
legacy-cgi==2.6.4
Expand All @@ -40,26 +40,25 @@ microversion-parse==2.1.0
more-itertools==11.1.0
msgpack==1.2.1
netaddr==1.3.0
numpy==2.4.6
openstacksdk==4.18.0
openstacksdk==4.19.1
os-service-types==1.9.0
os-traits==3.8.0
os-traits==3.9.0
oslo-cache==4.3.0
oslo-concurrency==7.6.1
oslo-config==10.7.0
oslo-context==6.5.0
oslo-db==18.1.0
oslo-db==18.1.1
oslo-i18n==6.9.0
oslo-log==8.3.0
oslo-messaging==18.2.0
oslo-metrics==0.16.0
oslo-log==8.3.1
oslo-messaging==18.3.0
oslo-metrics==0.17.0
oslo-middleware==8.2.0
oslo-policy==6.0.0
oslo-policy==6.0.1
oslo-serialization==5.11.0
oslo-service==4.8.0
oslo-upgradecheck==2.8.0
oslo-utils==10.1.1
oslo-versionedobjects==3.11.0
oslo-utils==10.2.0
oslo-versionedobjects==3.12.0
osprofiler==4.4.0
packaging==26.3
paste==3.10.1
Expand Down Expand Up @@ -98,7 +97,7 @@ sushy==5.13.0
tenacity==9.1.4
testresources==2.1.2
testscenarios==0.6.2
tooz==9.0.1
tooz==9.1.0
typing-extensions==4.16.0
tzdata==2026.3
uhashring==2.5
Expand Down
10 changes: 5 additions & 5 deletions containers/ironic/rpms.in.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,19 @@ arches:
packages:
- cargo
- cpio
- dnf
- dnf-plugins-core
- dnsmasq
- dosfstools
- e2fsprogs
- gcc
- gcc-c++
- gdisk
- git-core
- grub2-efi-x64
- httpd
- inotify-tools
- ipmitool
- iproute
- ipxe-bootimgs
- ipxe-bootimgs-x86
- libffi
- libffi-devel
- libxml2
Expand All @@ -47,13 +47,13 @@ packages:
- python3-cryptography-43.0.0-4.el10
- python3-devel
- python3-mod_wsgi
- python3-numpy
- python3-pip
- python3-setuptools
- python3-systemd
- qemu-img
- rust
- shim
- syslinux-nonlinux
- shim-x64
- util-linux
- xfsprogs
- xorriso
4 changes: 2 additions & 2 deletions containers/ironic/sources.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
master upper-constraints https://opendev.org/openstack/requirements.git master eab1e430d8cb3ba465f699ceedff1684f8b9a2ea
master ironic https://opendev.org/openstack/ironic.git master 7bc6aba7dda0b8a863d0310af6f06925d30c9563
master upper-constraints https://opendev.org/openstack/requirements.git master dcf1b2b8f1b2d6482c1af2edfc6f56eae0de4341
master ironic https://opendev.org/openstack/ironic.git master a15e214438155990e74666e68aeddcdb8695d9ae
Loading