On Thu, Feb 16, 2023 at 4:11 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
> requires enabling experimental features in the docker daemon in CI.
>
> This saves approximately 800MB of image size.
>
> Signed-off-by: Dumitru Ceara <[email protected]>
> ---
> V2:
> - Enabled experimental features in docker daemon.
> ---
>  .ci/ovn-kubernetes/Dockerfile        | 7 +++++--
>  .github/workflows/ovn-kubernetes.yml | 7 ++++++-
>  2 files changed, 11 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..63bc44068c 100644
> --- a/.github/workflows/ovn-kubernetes.yml
> +++ b/.github/workflows/ovn-kubernetes.yml
> @@ -29,6 +29,11 @@ jobs:
>      name: Build
>      runs-on: ubuntu-20.04
>      steps:
> +    - name: Enable Docker experimental features
> +      run: |
> +        echo $'{"experimental": true}' | sudo tee /etc/docker/daemon.json
> +        sudo service docker restart
> +
>      - name: Check out ovn
>        uses: actions/checkout@v3
>        with:
> @@ -38,7 +43,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
>
>
Looks good to me, thanks!

Acked-by: Ales Musil <[email protected]>

-- 

Ales Musil

Senior Software Engineer - OVN Core

Red Hat EMEA <https://www.redhat.com>

[email protected]    IM: amusil
<https://red.ht/sig>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to