From 24f195970e49a6c71e6fce7ba7081413a72ab59f Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Thu, 6 Nov 2025 14:55:57 -0600 Subject: [PATCH 1/3] fix(dnsmasq): include snponly.efi in our image to serve For the legacy tftp booting to work with Ironic we need to serve up the snponly.efi. Rather than share the mount from Ironic so that the file is copied in by Ironic just load it the same way that OpenStack Helm loads it into the container. --- containers/dnsmasq/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/containers/dnsmasq/Dockerfile b/containers/dnsmasq/Dockerfile index 714b00990..ca0242e51 100644 --- a/containers/dnsmasq/Dockerfile +++ b/containers/dnsmasq/Dockerfile @@ -16,6 +16,7 @@ RUN apt-get update && apt-get -y install \ pkg-config \ ca-certificates \ quilt \ + ipxe \ --no-install-recommends WORKDIR /src RUN apt-get -y build-dep dnsmasq @@ -42,11 +43,14 @@ COPY --from=builder /src/dnsmasq-base_*_amd64.deb /tmp COPY --from=builder /src/dnsmasq_*_all.deb /tmp RUN apt-get update && \ - apt-get -y install --no-install-recommends python3-jinja2 && \ + apt-get -y install --no-install-recommends python3-jinja2 ipxe && \ apt-get -y --fix-broken install --no-install-recommends /tmp/dnsmasq-base_*_amd64.deb /tmp/dnsmasq_*_all.deb && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/*.deb +RUN mkdir -p /var/lib/openstack-helm/tftpboot && \ + cp /usr/lib/ipxe/snponly.efi /var/lib/openstack-helm/tftpboot/ + COPY common/helpers.sh /helpers.sh COPY dnsmasq/entry-point.sh /entry-point.sh RUN chmod +x /entry-point.sh From c8a333a21d007e64dc75d1b90f5dea5df3b2a9fb Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Thu, 6 Nov 2025 15:03:32 -0600 Subject: [PATCH 2/3] chore(ironic): understack-data PVC is unused so retire it This PVC is unused for any data so let's retire it to not leave used cruft behind. --- components/ironic/dnsmasq-ss.yaml | 6 ------ components/ironic/kustomization.yaml | 1 - components/ironic/understack-data-pvc.yaml | 11 ----------- components/ironic/values.yaml | 5 ----- 4 files changed, 23 deletions(-) delete mode 100644 components/ironic/understack-data-pvc.yaml diff --git a/components/ironic/dnsmasq-ss.yaml b/components/ironic/dnsmasq-ss.yaml index ecce8c289..538230e8f 100644 --- a/components/ironic/dnsmasq-ss.yaml +++ b/components/ironic/dnsmasq-ss.yaml @@ -78,9 +78,6 @@ spec: mountPath: /etc/dnsmasq.d - name: pod-dhcp mountPath: /var/lib/misc - - name: understack-data - mountPath: /var/lib/understack/ - readOnly: true volumes: - name: pod-tmp emptyDir: {} @@ -90,6 +87,3 @@ spec: - name: pod-dhcp persistentVolumeClaim: claimName: dnsmasq-dhcp - - name: understack-data - persistentVolumeClaim: - claimName: understack-data diff --git a/components/ironic/kustomization.yaml b/components/ironic/kustomization.yaml index 985655c44..892c74827 100644 --- a/components/ironic/kustomization.yaml +++ b/components/ironic/kustomization.yaml @@ -7,7 +7,6 @@ resources: - ironic-rabbitmq-queue.yaml - dnsmasq-pvc.yaml - dnsmasq-ss.yaml - - understack-data-pvc.yaml - ironic-ks-user-baremetal.yaml # less than ideal addition but necessary so that we can have the ironic.conf.d loading # working due to the way the chart hardcodes the config-file parameter which then diff --git a/components/ironic/understack-data-pvc.yaml b/components/ironic/understack-data-pvc.yaml deleted file mode 100644 index 9fc530f0a..000000000 --- a/components/ironic/understack-data-pvc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: understack-data - namespace: openstack -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/components/ironic/values.yaml b/components/ironic/values.yaml index 2f5a61e7a..df727e96c 100644 --- a/components/ironic/values.yaml +++ b/components/ironic/values.yaml @@ -215,8 +215,6 @@ pod: mountPath: /etc/dnsmasq.d/ - name: dnsmasq-dhcp mountPath: /var/lib/dnsmasq/ - - name: understack-data - mountPath: /var/lib/understack - name: device-types mountPath: /var/lib/understack/device-types - name: ironic-etc-snippets @@ -229,9 +227,6 @@ pod: - name: dnsmasq-dhcp persistentVolumeClaim: claimName: dnsmasq-dhcp - - name: understack-data - persistentVolumeClaim: - claimName: understack-data - name: device-types configMap: name: device-types From 24e6b878b0c84268490b419759209ee881f1c083 Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Thu, 6 Nov 2025 15:10:57 -0600 Subject: [PATCH 3/3] fix(dnsmasq): push container on PR build for testing --- .github/workflows/containers.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/containers.yaml b/.github/workflows/containers.yaml index f977fd3a0..4d7c6f887 100644 --- a/.github/workflows/containers.yaml +++ b/.github/workflows/containers.yaml @@ -111,7 +111,7 @@ jobs: with: context: "{{defaultContext}}:containers/dnsmasq" file: Dockerfile - push: ${{ github.event_name != 'pull_request' }} + push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}