Skip to content

Commit 37fa4cd

Browse files
committed
feat(ironic): make updating ironic easier by following our branch
We have a stable branch that we push patches into. This makes it easier for us to follow our patch series by installing Ironic from our branch.
1 parent a03861e commit 37fa4cd

11 files changed

Lines changed: 21 additions & 2580 deletions

containers/ironic/Dockerfile

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,35 @@ FROM quay.io/airshipit/ironic:${OPENSTACK_VERSION}-ubuntu_noble AS build
55

66
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
77

8-
COPY python/ironic-understack /src/understack/ironic-understack
9-
COPY python/understack-flavor-matcher /src/understack/understack-flavor-matcher
10-
118
RUN apt-get update && \
129
apt-get install -y --no-install-recommends \
10+
git \
1311
patch \
14-
quilt \
1512
&& apt-get clean && rm -rf /var/lib/apt/lists/*
1613

14+
# clone source and patch it
15+
# renovate: name=openstack/ironic repo=https://github.com/rackerlabs/ironic.git branch=understack/2025.2
16+
ARG IRONIC_GIT_REF=095c3bcaede90095a639ec154b4c3783f1ea75a8
17+
ADD --keep-git-dir=true https://github.com/rackerlabs/ironic.git#${IRONIC_GIT_REF} /src/ironic
18+
RUN git -C /src/ironic fetch --unshallow --tags
19+
20+
COPY python/ironic-understack /src/understack/ironic-understack
21+
COPY python/understack-flavor-matcher /src/understack/understack-flavor-matcher
22+
1723
ARG OPENSTACK_VERSION="required_argument"
1824
ARG NOVNC_VERSION=1.6.0
1925
RUN --mount=type=cache,target=/root/.cache/uv \
2026
uv pip install \
27+
--upgrade \
2128
--constraint https://releases.openstack.org/constraints/upper/${OPENSTACK_VERSION} \
29+
/src/ironic \
2230
/src/understack/ironic-understack \
2331
/src/understack/understack-flavor-matcher \
2432
proliantutils==2.16.3
2533

2634
COPY containers/ironic/patches /tmp/patches/
2735
RUN cd /var/lib/openstack/lib/python3.12/site-packages && \
28-
QUILT_PATCHES=/tmp/patches quilt push -a
36+
patch -p1 < /tmp/patches/0001-Solve-IPMI-call-issue-results-in-UTF-8-format-error-.patch
2937

3038
# download and unpack novnc
3139
RUN \
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,6 @@ git fetch rackerlabs
1616
git checkout --track rackerlabs/understack/2025.2
1717
```
1818

19-
## So to generate this series of patches for 2025.2 for example:
20-
21-
```bash
22-
git checkout understack/2025.2
23-
git format-patch stable/2025.2 -o PATH/TO/THIS/DIR
24-
```
25-
26-
Now update the `series` file for any new patches.
27-
2819
## Adding patches is done via `git cherry-pick`
2920

3021
```bash
@@ -49,3 +40,11 @@ git checkout understack/2025.2
4940
git rebase stable/2025.2
5041
git push rackerlabs understack/2025.2
5142
```
43+
44+
## Updating the container
45+
46+
```bash
47+
git checkout understack/2025.2
48+
git show
49+
# ensure the git-ish in the Dockerfile matches
50+
```

containers/ironic/patches/0001-pass-along-physical_network-to-neutron-from-the-bare.patch

Lines changed: 0 additions & 212 deletions
This file was deleted.

containers/ironic/patches/0002-Add-SKU-field-to-Redfish-inspection.patch

Lines changed: 0 additions & 86 deletions
This file was deleted.

0 commit comments

Comments
 (0)