Files
openstack-helm-images/ovn/Dockerfile.centos
Vladimir Kozhukalov 5dd5a3802d [ovn] Add openvswitch user with uid 42424
This is needed for running openvswitch as non root.

Depends-On: Ie00dd2657c616645ec237c0880bbc552b3805236
Change-Id: I79dac70d752bd0a7013740933c2cc4a4348850fa
2025-01-30 07:34:33 -06:00

50 lines
1.9 KiB
Docker

FROM golang:1.20 AS ovn-kubernetes
ARG OVN_KUBERNETES_REF=5359e7d7f872058b6e5bf884c9f19d1922451f29
ADD https://github.com/ovn-org/ovn-kubernetes.git#${OVN_KUBERNETES_REF} /src
COPY patches/ovn-kubernetes /patches/ovn-kubernetes
RUN git -C /src apply --verbose /patches/ovn-kubernetes/*
RUN <<EOF bash -xe
cd /src/go-controller
go build -o /usr/bin/ovn-kube-util ./cmd/ovn-kube-util
EOF
FROM quay.io/centos/centos:stream9
ADD --chmod=755 https://github.com/krallin/tini/releases/download/v0.19.0/tini /tini
ARG OVS_SERIES=3.2
ARG OVS_VERSION=${OVS_SERIES}.0-80
ARG TARGETPLATFORM
ADD --chmod=755 https://dl.k8s.io/release/v1.29.3/bin/${TARGETPLATFORM}/kubectl /usr/local/bin/kubectl
ARG OVN_SERIES=24.03
ARG OVN_VERSION=${OVN_SERIES}.1-44
RUN useradd -u 42424 openvswitch
RUN <<EOF sh -xe
dnf -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs install \
centos-release-nfv-openvswitch.noarch
dnf -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs install \
iptables \
openvswitch${OVS_SERIES}-${OVS_VERSION}.el9s \
openvswitch${OVS_SERIES}-test-${OVS_VERSION}.el9s \
python3-netifaces \
tcpdump
dnf -y clean all
rm -rf /var/cache/dnf
EOF
RUN <<EOF sh -xe
dnf -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs install \
firewalld-filesystem hostname ovn${OVN_SERIES}-${OVN_VERSION}.el9s procps-ng
dnf -y clean all
rm -rf /var/cache/dnf
EOF
ARG OVN_COMPONENT
RUN <<EOF sh -xe
dnf -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs install \
ovn${OVN_SERIES}-central-${OVN_VERSION}.el9s \
ovn${OVN_SERIES}-host-${OVN_VERSION}.el9s
dnf -y clean all
rm -rf /var/cache/dnf
EOF
COPY --from=ovn-kubernetes --link /src/dist/images/ovndb-raft-functions.sh /root/ovndb-raft-functions.sh
COPY --from=ovn-kubernetes --link /src/dist/images/ovnkube.sh /root/ovnkube.sh
COPY --from=ovn-kubernetes --link /usr/bin/ovn-kube-util /usr/bin/ovn-kube-util