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
19 changes: 13 additions & 6 deletions containers/ironic/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,35 @@ FROM quay.io/airshipit/ironic:${OPENSTACK_VERSION}-ubuntu_noble AS build

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

COPY python/ironic-understack /src/understack/ironic-understack
COPY python/understack-flavor-matcher /src/understack/understack-flavor-matcher

RUN apt-get update && \
apt-get install -y --no-install-recommends \
git \
patch \
quilt \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

# clone source and patch it
# renovate: name=openstack/ironic repo=https://github.com/rackerlabs/ironic.git branch=understack/2025.2
ARG IRONIC_GIT_REF=3856f2183a4e568eb4f05aa561c8626eb80241c0
ADD --keep-git-dir=true https://github.com/openstack/ironic.git#${IRONIC_GIT_REF} /src/ironic
RUN git -C /src/ironic fetch --unshallow

COPY python/ironic-understack /src/understack/ironic-understack
COPY python/understack-flavor-matcher /src/understack/understack-flavor-matcher

ARG OPENSTACK_VERSION="required_argument"
ARG NOVNC_VERSION=1.6.0
RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install \
--upgrade \
--constraint https://releases.openstack.org/constraints/upper/${OPENSTACK_VERSION} \
/src/ironic \
/src/understack/ironic-understack \
/src/understack/understack-flavor-matcher \
proliantutils==2.16.3

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

# download and unpack novnc
RUN \
Expand All @@ -36,7 +44,6 @@ RUN \
mkdir -p /usr/share/novnc/ && \
wget -q -O "$DEST_FILE" "$URL" && \
tar -C /usr/share/novnc/ --strip-components=1 -zxvf "${DEST_FILE}" "$PFX/app" "$PFX/core" "$PFX/vendor" "$PFX/vnc.html"
COPY containers/ironic/ironic-console-pod.yaml.template /var/lib/openstack/lib/python3.12/site-packages/ironic/console/container/

ARG OPENSTACK_VERSION="required_argument"
FROM quay.io/airshipit/ironic:${OPENSTACK_VERSION}-ubuntu_noble AS final
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,6 @@ git fetch rackerlabs
git checkout --track rackerlabs/understack/2025.2
```

## So to generate this series of patches for 2025.2 for example:

```bash
git checkout understack/2025.2
git format-patch stable/2025.2 -o PATH/TO/THIS/DIR
```

Now update the `series` file for any new patches.

## Adding patches is done via `git cherry-pick`

```bash
Expand All @@ -49,3 +40,11 @@ git checkout understack/2025.2
git rebase stable/2025.2
git push rackerlabs understack/2025.2
```

## Updating the container

```bash
git checkout understack/2025.2
git show
# ensure the git-ish in the Dockerfile matches
```
45 changes: 0 additions & 45 deletions containers/ironic/ironic-console-pod.yaml.template

This file was deleted.

This file was deleted.

Loading
Loading