On 2/16/23 14:55, Dumitru Ceara wrote: > On 2/16/23 14:53, Ales Musil wrote: >> On Thu, Feb 16, 2023 at 2:48 PM Dumitru Ceara <[email protected]> wrote: >> >>> Remove some packages that we don't need in the final image (and also >>> remove dnf cache). Also squash the container image layers in CI. >>> >>> This saves approximately 800MB of image size. >>> >>> Signed-off-by: Dumitru Ceara <[email protected]> >>> --- >>> .ci/ovn-kubernetes/Dockerfile | 7 +++++-- >>> .github/workflows/ovn-kubernetes.yml | 2 +- >>> 2 files changed, 6 insertions(+), 3 deletions(-) >>> >>> diff --git a/.ci/ovn-kubernetes/Dockerfile b/.ci/ovn-kubernetes/Dockerfile >>> index 722af78709..0a958cc81e 100644 >>> --- a/.ci/ovn-kubernetes/Dockerfile >>> +++ b/.ci/ovn-kubernetes/Dockerfile >>> @@ -66,8 +66,7 @@ FROM fedora:37 >>> # install needed dependencies >>> RUN INSTALL_PKGS=" \ >>> iptables iproute iputils hostname unbound-libs kubernetes-client kmod >>> socat" && \ >>> - dnf install --best --refresh -y --setopt=tsflags=nodocs $INSTALL_PKGS >>> && \ >>> - dnf clean all && rm -rf /var/cache/dnf/* >>> + dnf install --best --refresh -y --setopt=tsflags=nodocs $INSTALL_PKGS >>> >>> RUN mkdir -p /var/run/openvswitch >>> >>> @@ -90,6 +89,10 @@ COPY --from=ovnkubebuilder >>> /root/ovn-kubernetes/dist/images/ovnkube.sh /root/ >>> COPY --from=ovnkubebuilder >>> /root/ovn-kubernetes/dist/images/ovndb-raft-functions.sh /root/ >>> COPY --from=ovnkubebuilder >>> /root/ovn-kubernetes/dist/images/iptables-scripts /usr/sbin/ >>> >>> +# Make some room. >>> +RUN REMOVE_PKGS="llvm-libs clang-libs" && \ >>> + dnf remove -y $REMOVE_PKGS && dnf clean all && rm -rf /var/cache/dnf/* >>> + >>> LABEL io.k8s.display-name="ovn-kubernetes" \ >>> io.k8s.description="This is a Kubernetes network plugin that provides >>> an overlay network using OVN." \ >>> maintainer="ovn team" >>> diff --git a/.github/workflows/ovn-kubernetes.yml >>> b/.github/workflows/ovn-kubernetes.yml >>> index 8a7815f1dd..d65f0fc5c1 100644 >>> --- a/.github/workflows/ovn-kubernetes.yml >>> +++ b/.github/workflows/ovn-kubernetes.yml >>> @@ -38,7 +38,7 @@ jobs: >>> run: | >>> docker build --build-arg OVNKUBE_COMMIT=${{ env.OVNKUBE_COMMIT }} >>> \ >>> --build-arg LIBOVSDB_COMMIT=${{ env.LIBOVSDB_COMMIT }} \ >>> - -t ovn-daemonset-f:dev -f .ci/ovn-kubernetes/Dockerfile . >>> + --squash -t ovn-daemonset-f:dev -f >>> .ci/ovn-kubernetes/Dockerfile . >>> mkdir /tmp/_output >>> docker save ovn-daemonset-f:dev > /tmp/_output/image.tar >>> >>> -- >>> 2.31.1 >>> >>> >> Great improvement, thanks! >> >> Acked-by: Ales Musil <[email protected]> >> > > Thanks for the quick review! I'll wait for the ovsrobot to take this > patch for a spin first before applying it. >
As a matter of fact it turns out that docker doesn't like "--squash" by default. We get this in GH CI: docker build --build-arg OVNKUBE_COMMIT=master \ "--squash" is only supported on a Docker daemon with experimental features enabled I was using podman locally. I'll see if I can make it work with docker too and post a v2. Sorry for the noise. Dumitru _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
