Add docker disk usage to collect containerization

This adds 'docker system df' and 'du -h --max-depth 1 /var/lib/docker'
commands to collect containerization_images.info.

This gives high level of usage and first-level breakdown. This is
useful in diagnosing file-system usage of /var/lib/docker if there
are remnants from initial install, or if an admin does manual docker
operations which consumes many extraneous GB.

We expect CRI stuff under: /var/lib/docker/io.containerd.* .

The containerization_images.info has the following new sections:

--------------------------------------------------------------------
Fri Jun  3 21:13:09 UTC 2022 :  : docker system df
--------------------------------------------------------------------
TYPE            TOTAL  ACTIVE  SIZE     RECLAIMABLE
Images          1      0       688.5MB  688.5MB (100%)
Containers      0      0       0B       0B
Local Volumes   0      0       0B       0B
Build Cache     0      0       0B       0B

--------------------------------------------------------------------
Fri Jun  3 21:13:09 UTC 2022 :  : du -h --max-depth 1 /var/lib/docker
--------------------------------------------------------------------
0       /var/lib/docker/containers
0       /var/lib/docker/plugins
719M    /var/lib/docker/overlay2
2.9M    /var/lib/docker/image
24K     /var/lib/docker/volumes
0       /var/lib/docker/trust
32K     /var/lib/docker/network
0       /var/lib/docker/swarm
16K     /var/lib/docker/builder
56K     /var/lib/docker/buildkit
0       /var/lib/docker/tmpmounts
1.7G    /var/lib/docker/io.containerd.content.v1.content
0       /var/lib/docker/io.containerd.snapshotter.v1.native
5.0G    /var/lib/docker/io.containerd.snapshotter.v1.overlayfs
3.9M    /var/lib/docker/io.containerd.metadata.v1.bolt
0       /var/lib/docker/io.containerd.runtime.v1.linux
12K     /var/lib/docker/io.containerd.runtime.v2.task
664K    /var/lib/docker/io.containerd.grpc.v1.cri
0       /var/lib/docker/tmp
0       /var/lib/docker/runtimes
7.4G    /var/lib/docker

It is likely that an admin requires manual cleanup using commands like:
docker rmi x
docker system prune --force

An admin may also cleanup the CRI but that is already governed by kubelet
image garbage collection file-system usage thresholds.
crictl rmi x
crictl rmi --prune

TESTING:
AIO-SX: Gather collect and inspect containerization_images.info

Closes-Bug: 1977750

Signed-off-by: Jim Gauld <james.gauld@windriver.com>
Change-Id: I468d5ebd18ad72385d74be7bee614fbc2cbb1e99
This commit is contained in:
Jim Gauld 2022-06-03 14:40:50 -04:00
parent d60951d6e0
commit 617d58053b
2 changed files with 16 additions and 0 deletions

View File

@ -33,6 +33,14 @@ echo "${hostname}: Containers Info ...: ${LOGFILE}"
mkdir -p ${HELM_DIR}
source_openrc_if_needed
CMD="docker system df"
delimiter ${LOGFILE_IMG} "${CMD}"
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_IMG}
CMD="du -h --max-depth 1 /var/lib/docker"
delimiter ${LOGFILE_IMG} "${CMD}"
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_IMG}
CMD="docker image ls -a"
delimiter ${LOGFILE_IMG} "${CMD}"
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_IMG}

View File

@ -33,6 +33,14 @@ echo "${hostname}: Containerization Info ...: ${LOGFILE}"
mkdir -p ${HELM_DIR}
source_openrc_if_needed
CMD="docker system df"
delimiter ${LOGFILE_IMG} "${CMD}"
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_IMG}
CMD="du -h --max-depth 1 /var/lib/docker"
delimiter ${LOGFILE_IMG} "${CMD}"
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_IMG}
CMD="docker image ls -a"
delimiter ${LOGFILE_IMG} "${CMD}"
${CMD} 2>>${COLLECT_ERROR_LOG} >>${LOGFILE_IMG}