mirror of
https://github.com/containers/podman.git
synced 2025-06-23 02:18:13 +08:00
Cirrus: Prevent resident pollution
When constructing VM cache-images, the latest/greatest podman package is installed to ensure all necessary dependencies are met. Prior to testing source-built binaries, most of of the packaged files are removed. However, if the `io.podman` service or socket is enabled/running, it could cause the packaged podman and varlink binaries to be both resident and cached. Since this condition would cause very difficult to diagnose behaviors, add preventative measures to ensure these services are absent prior to removing packaged podman files. Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
@ -345,6 +345,21 @@ install_test_configs(){
|
||||
remove_packaged_podman_files(){
|
||||
echo "Removing packaged podman files to prevent conflicts with source build and testing."
|
||||
req_env_var OS_RELEASE_ID
|
||||
|
||||
# If any binaries are resident they could cause unexpected pollution
|
||||
for unit in io.podman.service io.podman.socket
|
||||
do
|
||||
for state in enabled active
|
||||
do
|
||||
if systemctl --quiet is-$state $unit
|
||||
then
|
||||
echo "Warning: $unit found $state prior to packaged-file removal"
|
||||
systemctl --quiet disable $unit || true
|
||||
systemctl --quiet stop $unit || true
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
if [[ "$OS_RELEASE_ID" =~ "ubuntu" ]]
|
||||
then
|
||||
LISTING_CMD="sudo -E dpkg-query -L podman"
|
||||
@ -359,6 +374,9 @@ remove_packaged_podman_files(){
|
||||
if [[ -d "$fullpath" ]] || [[ $(basename "$fullpath") == "conmon" ]] ; then continue; fi
|
||||
ooe.sh sudo rm -vf "$fullpath"
|
||||
done
|
||||
|
||||
# Be super extra sure and careful vs performant and completely safe
|
||||
sync && echo 3 > /proc/sys/vm/drop_caches
|
||||
}
|
||||
|
||||
systemd_banish(){
|
||||
|
Reference in New Issue
Block a user