summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2019-07-10 12:15:43 -0400
committerChris Evich <cevich@redhat.com>2019-07-16 14:30:42 -0400
commit1abb2174934a461d90885afc0a8655e9d326f21e (patch)
tree96c48f8d4b49455c671a6eaffaef68148bafa4bb
parenta449e9a2cf4b73163df75674059de04488cd2706 (diff)
downloadpodman-1abb2174934a461d90885afc0a8655e9d326f21e.tar.gz
podman-1abb2174934a461d90885afc0a8655e9d326f21e.tar.bz2
podman-1abb2174934a461d90885afc0a8655e9d326f21e.zip
Cirrus: Disable most periodic services/timers
For CI testing, it's important to remove as much variability from the overall system as possible. This permits focusing just on problems closely related to code-changes. To this end, and because VMs are very short-lived (2 hours at most), disable all systemd services and timers which perform periodic activities. Signed-off-by: Chris Evich <cevich@redhat.com>
-rw-r--r--contrib/cirrus/lib.sh14
-rw-r--r--contrib/cirrus/packer/fedora_base-setup.sh3
-rw-r--r--contrib/cirrus/packer/fedora_setup.sh3
-rw-r--r--contrib/cirrus/packer/ubuntu_setup.sh3
4 files changed, 23 insertions, 0 deletions
diff --git a/contrib/cirrus/lib.sh b/contrib/cirrus/lib.sh
index 4acdb460a..ab3c5642d 100644
--- a/contrib/cirrus/lib.sh
+++ b/contrib/cirrus/lib.sh
@@ -350,6 +350,20 @@ remove_packaged_podman_files(){
done
}
+systemd_banish(){
+ echo "Disabling periodic services that could destabalize testing:"
+ set +e # Not all of these exist on every platform
+ for unit in cron atd apt-daily-upgrade apt-daily fstrim motd-news systemd-tmpfiles-clean
+ do
+ ooe.sh sudo systemctl stop $unit
+ ooe.sh sudo systemctl disable $unit
+ ooe.sh sudo systemctl disable $unit.timer
+ ooe.sh sudo systemctl mask $unit
+ ooe.sh sudo systemctl mask $unit.timer
+ done
+ set -e
+}
+
_finalize(){
set +e # Don't fail at the very end
set +e # make errors non-fatal
diff --git a/contrib/cirrus/packer/fedora_base-setup.sh b/contrib/cirrus/packer/fedora_base-setup.sh
index a425b2b57..788a54c34 100644
--- a/contrib/cirrus/packer/fedora_base-setup.sh
+++ b/contrib/cirrus/packer/fedora_base-setup.sh
@@ -27,6 +27,9 @@ ooe.sh systemctl enable rngd
echo "Setting cloud-init service to start after google-network-daemon.service"
cp -v $GOSRC/$PACKER_BASE/cloud-init/fedora/cloud-init.service /etc/systemd/system/
+# Ensure there are no disruptive periodic services enabled by default in image
+systemd_banish
+
rh_finalize
echo "SUCCESS!"
diff --git a/contrib/cirrus/packer/fedora_setup.sh b/contrib/cirrus/packer/fedora_setup.sh
index eb95db907..1e25a1a3c 100644
--- a/contrib/cirrus/packer/fedora_setup.sh
+++ b/contrib/cirrus/packer/fedora_setup.sh
@@ -76,6 +76,9 @@ ooe.sh sudo dnf install -y \
xz \
zip
+# Ensure there are no disruptive periodic services enabled by default in image
+systemd_banish
+
sudo /tmp/libpod/hack/install_catatonit.sh
rh_finalize
diff --git a/contrib/cirrus/packer/ubuntu_setup.sh b/contrib/cirrus/packer/ubuntu_setup.sh
index 6209f2f89..dba191ad2 100644
--- a/contrib/cirrus/packer/ubuntu_setup.sh
+++ b/contrib/cirrus/packer/ubuntu_setup.sh
@@ -100,6 +100,9 @@ ooe.sh sudo update-grub
sudo /tmp/libpod/hack/install_catatonit.sh
ooe.sh sudo make -C /tmp/libpod install.libseccomp.sudo
+# Ensure there are no disruptive periodic services enabled by default in image
+systemd_banish
+
ubuntu_finalize
echo "SUCCESS!"