Project

General

Profile

Actions

action #176472

closed

[BCI] Investigate image size growth of BCI-Minimal

Added by ph03nix about 2 months ago. Updated 13 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
2025-02-03
Due date:
% Done:

0%

Estimated time:
Tags:

Description

In https://openqa.opensuse.org/tests/4826592#step/_root_BCI-tests_minimal_/1 we discovered that the image size of the BCI/Minimal container for Tumbleweed grew unexpectedly. See https://bugzilla.opensuse.org/show_bug.cgi?id=1236736.

We have been tasked to investigate what exactly grew.

We can use the latest published BCI containers (you'll find them in https://registry.opensuse.org/cgi-bin/cooverview) and compare those with the container images that are pending: registry.opensuse.org/opensuse/factory/totest/containers/opensuse/bci/bci-minimal:latest.

Then compare the two images and investigate what makes the huge difference.

Report back here.

Actions #1

Updated by vkatkalov about 2 months ago

  • Assignee set to vkatkalov
Actions #2

Updated by vkatkalov about 2 months ago

podman exec stable_bci rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort > stable_packages.txt
podman exec totest_bci rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort > totest_packages.txt
diff stable_packages.txt totest_packages.txt
4a5
> crypto-policies-20230920.570ea89-3.3.noarch
7a9
> libarchive13-3.7.7-1.2.x86_64
16a19
> liblz4-1-1.10.0-2.2.x86_64
18a22
> libopenssl3-3.2.3-4.1.x86_64
23a28
> libxml2-2-2.13.5-2.1.x86_64
26,28c31,33
< openSUSE-release-20250130-3347.1.x86_64
< openSUSE-release-appliance-docker-20250130-3347.1.x86_64
< rpm-4.19.1.1-4.2.x86_64
---
> openSUSE-release-20250131-3349.1.x86_64
> openSUSE-release-appliance-docker-20250131-3349.1.x86_64
> rpm-4.20.0-1.1.x86_64
Actions #3

Updated by vkatkalov about 2 months ago · Edited

Path Stable ToTest Difference Notes
/usr/lib64 16 MB 25 MB +9 MB Significant growth due to new libraries.
/usr 42 MB 52 MB +10 MB Overall growth aligns with /lib64.
/usr/lib64/libcrypto.so.3.2.3 - 5.7 MB +5.7 MB New file from libopenssl3.
/usr/lib/sysimage/rpm/Packages.db 2.9 MB 3.1 MB +0.2 MB RPM DB grew after upgrade.
/usr/lib64/libstdc++.so.6.0.33 2.4 MB 2.4 MB 0 MB No change.
/usr/lib64/libc.so.6 2.4 MB 2.4 MB 0 MB No change.
➜  ~ podman save registry.opensuse.org/opensuse/bci/bci-minimal:latest -o stable_bci.tar
Copying blob 42f2f717a271 done   |
Copying blob d09c4ed20a94 done   |
Copying config 75a2ae7ed0 done   |
Writing manifest to image destination
➜  ~ podman save registry.opensuse.org/opensuse/factory/totest/containers/opensuse/bci/bci-minimal:latest -o totest_bci.tar
Copying blob e39da980eca5 done   |
Copying blob 438d92770e3f done   |
Copying config cbd1474b74 done   |
Writing manifest to image destination
➜  ~ ls -lh stable_bci.tar totest_bci.tar
-rw-r--r-- 1 x x 48M Feb  3 15:04 stable_bci.tar
-rw-r--r-- 1 x x 58M Feb  3 15:04 totest_bci.tar
➜  ~ podman exec totest_bci du -ahx / | sort -hr | head -n 20
56M     /
52M     /usr
25M     /usr/lib64
9.3M    /usr/lib
9.2M    /usr/share
8.8M    /usr/lib/sysimage/rpm
8.8M    /usr/lib/sysimage
7.2M    /usr/bin
5.8M    /usr/lib/sysimage/rpm/Index.db
5.7M    /usr/lib64/libcrypto.so.3.2.3
4.2M    /usr/share/factory/var/lib/ca-certificates
4.2M    /usr/share/factory/var/lib
4.2M    /usr/share/factory/var
4.2M    /usr/share/factory
3.9M    /var/lib
3.9M    /var
3.8M    /var/lib/ca-certificates
3.1M    /usr/lib/sysimage/rpm/Packages.db
2.4M    /usr/lib64/libstdc++.so.6.0.33
2.4M    /usr/lib64/libc.so.6
➜  ~ podman exec stable_bci du -ahx / | sort -hr | head -n 20
46M     /
42M     /usr
16M     /usr/lib64
9.1M    /usr/lib
8.8M    /usr/share
8.6M    /usr/lib/sysimage/rpm
8.6M    /usr/lib/sysimage
7.2M    /usr/bin
5.8M    /usr/lib/sysimage/rpm/Index.db
4.2M    /usr/share/factory/var/lib/ca-certificates
4.2M    /usr/share/factory/var/lib
4.2M    /usr/share/factory/var
4.2M    /usr/share/factory
3.9M    /var/lib
3.9M    /var
3.8M    /var/lib/ca-certificates
2.9M    /usr/lib/sysimage/rpm/Packages.db
2.4M    /usr/lib64/libstdc++.so.6.0.33
2.4M    /usr/lib64/libc.so.6
2.3M    /usr/share/locale
➜  ~ podman exec totest_bci rpm -qf /usr/lib64/libcrypto.so.3.2.3
libopenssl3-3.2.3-4.1.x86_64
➜  ~ podman exec totest_bci rpm -qf /usr/lib64/liblz4.so.1
liblz4-1-1.10.0-2.2.x86_64
Actions #4

Updated by vkatkalov about 2 months ago

Path Stable ToTest Difference Associated Package
/usr/lib64/libcrypto.so.3.2.3 - 5.7 MB +5.7 MB libopenssl3 (new)
/usr/lib64/libssl.so.3.2.3 - 988 KB +988 KB libopenssl3 (new)
/usr/lib64/libxml2.so.2.13.5 - 1.5 MB +1.5 MB libxml2-2 (new)
/usr/lib64/libarchive.so.13.7.7 - 844 KB +844 KB libarchive13 (new)
/usr/lib64/librpm.so.10.2.0 512 KB 512 KB ~0 MB rpm (upgraded)
/usr/lib/sysimage/rpm/Packages.db 2.9 MB 3.1 MB +200 KB RPM DB (due to rpm 4.20)
/usr/share/crypto-policies - 368 KB +368 KB crypto-policies (new)
➜  ~ podman exec stable_bci du -ahx /usr/ | sort -hr | head -n 50
42M     /usr/
16M     /usr/lib64
9.1M    /usr/lib
8.8M    /usr/share
8.6M    /usr/lib/sysimage/rpm
8.6M    /usr/lib/sysimage
7.2M    /usr/bin
5.8M    /usr/lib/sysimage/rpm/Index.db
4.2M    /usr/share/factory/var/lib/ca-certificates
4.2M    /usr/share/factory/var/lib
4.2M    /usr/share/factory/var
4.2M    /usr/share/factory
2.9M    /usr/lib/sysimage/rpm/Packages.db
2.4M    /usr/lib64/libstdc++.so.6.0.33
2.4M    /usr/lib64/libc.so.6
2.3M    /usr/share/locale
2.1M    /usr/share/factory/var/lib/ca-certificates/openssl
1.8M    /usr/share/factory/var/lib/ca-certificates/pem
1.7M    /usr/lib64/libgcrypt.so.20.5.0
1.2M    /usr/share/misc/termcap
1.2M    /usr/share/misc
1.1M    /usr/sbin
1.1M    /usr/lib64/libmvec.so.1
1.0M    /usr/lib64/libm.so.6
1008K   /usr/sbin/ldconfig
872K    /usr/bin/bash
764K    /usr/lib64/libzstd.so.1.5.6
728K    /usr/share/licenses
700K    /usr/lib64/libpcre2-8.so.0.13.0
680K    /usr/lib64/libgmp.so.10.5.0
512K    /usr/lib64/librpm.so.10.0.2
492K    /usr/lib/rpm
360K    /usr/lib64/libreadline.so.8.2
316K    /usr/bin/localedef
308K    /usr/share/bash/helpfiles
308K    /usr/share/bash
280K    /usr/lib/rpm/platform
268K    /usr/lib64/liblua5.4.so.5.4.0
256K    /usr/lib64/ld-linux-x86-64.so.2
252K    /usr/lib64/libncursesw.so.6.5
236K    /usr/lib64/libtinfo.so.6.5
228K    /usr/lib64/liblzma.so.5.6.3
220K    /usr/share/factory/var/lib/ca-certificates/ca-bundle.pem
212K    /usr/share/terminfo
204K    /usr/lib64/librpmio.so.10.0.2
184K    /usr/lib64/libgcc_s.so.1
184K    /usr/lib64/gconv
176K    /usr/lib64/libselinux.so.1
176K    /usr/lib64/libncurses.so.6.5
164K    /usr/share/factory/var/lib/ca-certificates/java-cacerts
➜  ~ podman exec totest_bci du -ahx /usr/ | sort -hr | head -n 50
52M     /usr/
25M     /usr/lib64
9.3M    /usr/lib
9.2M    /usr/share
8.8M    /usr/lib/sysimage/rpm
8.8M    /usr/lib/sysimage
7.2M    /usr/bin
5.8M    /usr/lib/sysimage/rpm/Index.db
5.7M    /usr/lib64/libcrypto.so.3.2.3
4.2M    /usr/share/factory/var/lib/ca-certificates
4.2M    /usr/share/factory/var/lib
4.2M    /usr/share/factory/var
4.2M    /usr/share/factory
3.1M    /usr/lib/sysimage/rpm/Packages.db
2.4M    /usr/lib64/libstdc++.so.6.0.33
2.4M    /usr/lib64/libc.so.6
2.3M    /usr/share/locale
2.1M    /usr/share/factory/var/lib/ca-certificates/openssl
1.8M    /usr/share/factory/var/lib/ca-certificates/pem
1.7M    /usr/lib64/libgcrypt.so.20.5.0
1.5M    /usr/lib64/libxml2.so.2.13.5
1.2M    /usr/share/misc/termcap
1.2M    /usr/share/misc
1.1M    /usr/sbin
1.1M    /usr/lib64/libmvec.so.1
1.0M    /usr/lib64/libm.so.6
1008K   /usr/sbin/ldconfig
988K    /usr/lib64/libssl.so.3.2.3
872K    /usr/bin/bash
844K    /usr/lib64/libarchive.so.13.7.7
776K    /usr/share/licenses
764K    /usr/lib64/libzstd.so.1.5.6
700K    /usr/lib64/libpcre2-8.so.0.13.0
680K    /usr/lib64/libgmp.so.10.5.0
524K    /usr/lib/rpm
512K    /usr/lib64/librpm.so.10.2.0
368K    /usr/share/crypto-policies
360K    /usr/lib64/libreadline.so.8.2
316K    /usr/bin/localedef
308K    /usr/share/bash/helpfiles
308K    /usr/share/bash
280K    /usr/lib/rpm/platform
268K    /usr/lib64/liblua5.4.so.5.4.0
256K    /usr/lib64/ld-linux-x86-64.so.2
252K    /usr/lib64/libncursesw.so.6.5
236K    /usr/lib64/libtinfo.so.6.5
228K    /usr/lib64/liblzma.so.5.6.3
220K    /usr/share/factory/var/lib/ca-certificates/ca-bundle.pem
220K    /usr/lib64/librpmio.so.10.2.0
212K    /usr/share/terminfo
Actions #5

Updated by ph03nix about 2 months ago

  • Status changed from Workable to In Progress
Actions #6

Updated by vkatkalov about 2 months ago

  • Status changed from In Progress to Feedback
Actions #7

Updated by ph03nix about 2 months ago

I think this can be closed now.

Actions #8

Updated by ph03nix about 2 months ago

  • Subject changed from [BCI] Investigate image size groth of BCI-Minimal to [BCI] Investigate image size growth of BCI-Minimal
Actions #9

Updated by vkatkalov 13 days ago

  • Status changed from Feedback to Resolved
Actions

Also available in: Atom PDF