Skip to content

Commit

Permalink
build: remove iproute build dependency on centos repo
Browse files Browse the repository at this point in the history
Multus requires that the 'ip' tool be installed in the Rook image.
Today, it is present in the upstream Ceph base image that is used, but
that is expected to change in the future. The Ceph project intends to
switch to CentOS 9 minimal images, and the 'ip' tool will likely be
removed from the base image at that point.

However, Rook CI has occasionally had issues with the current 'dnf
install' command when CentOS repos go down, or when there is otherwise
some problem. Because the package is already installed today, there is
no need to hamstring Rook builds when CentOS is having problems. But we
do want to make sure that Rook builds don't silently succeed in the
eventual future when 'ip' tool is removed from the Ceph image.

For now, replace the 'dnf install' with a check to verify that 'ip' tool
is installed, and add a shorter form of this note as a comment above it
to help Rook maintainers know how to resolve future 'ip' tool removal.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
  • Loading branch information
BlaineEXE committed Jun 3, 2024
1 parent 2a5301a commit c4e99c1
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions images/ceph/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,12 @@ FROM BASEIMAGE
ARG S5CMD_VERSION
ARG S5CMD_ARCH

# install 'ip' tool for Multus
RUN dnf install -y --repo baseos --setopt=install_weak_deps=False iproute && dnf clean all
# 'ip' tool must be installed for Multus. It's present in the base image today, but it will likely
# be removed in the future. Doing a 'dnf install' sometimes breaks CI when centos repos go down or
# have other package build errors. In order to make sure Rook CI catches the eventual removal and
# also limit Rook CI breakage due to centos breakage, simply check that 'ip' is present.
# Eventually: dnf install -y --repo baseos --setopt=install_weak_deps=False iproute && dnf clean all
RUN which ip

# Install the s5cmd package to interact with s3 gateway
RUN curl --fail -sSL -o /s5cmd.tar.gz https://github.com/peak/s5cmd/releases/download/v${S5CMD_VERSION}/s5cmd_${S5CMD_VERSION}_${S5CMD_ARCH}.tar.gz && \
Expand Down

0 comments on commit c4e99c1

Please sign in to comment.