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

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to