summaryrefslogtreecommitdiffstats
path: root/hosts/jenkins-test-vm/etc
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/jenkins-test-vm/etc')
-rwxr-xr-xhosts/jenkins-test-vm/etc/rc.local70
1 files changed, 68 insertions, 2 deletions
diff --git a/hosts/jenkins-test-vm/etc/rc.local b/hosts/jenkins-test-vm/etc/rc.local
index 1c4ece10..8fb854c5 100755
--- a/hosts/jenkins-test-vm/etc/rc.local
+++ b/hosts/jenkins-test-vm/etc/rc.local
@@ -8,9 +8,75 @@
#
# In order to enable or disable this script just change the execution
# bits.
+
+send_back_to_the_future() {
+ # stop ntp
+ service ntp stop || true
+ # disable systemd date services (and don't fail if systemd ain't running)
+ systemctl disable systemd-timesyncd
+ systemctl disable systemd-timedated
+ systemctl stop systemd-timesyncd || true
+ systemctl stop systemd-timedated || true
+ # set correct date
+ ntpdate -b de.pool.ntp.org
+ # set fake date
+ date --set="+398 days +6 hours + 23 minutes"
+ # disable check for outdated packages as in the future (like this)
+ # packages from security.d.o will appear outdated always…
+ ln -sf /bin/true /usr/local/bin/dsa-check-packages
+ # finally report success
+ echo "$(date -u) - system is running in the future now" | mail -s "$(hostname -f) in the future" root
+}
+
+put_schroots_on_tmpfs() {
+ # keep schroot sessions on tmpfs
+ [ -L /var/lib/schroot ] || echo "$(date -u) - /var/lib/schroot is not a link (to /srv/workspace/varlibschroot/) as it should, please fix manually"
+ mkdir -p /srv/workspace/varlibschroot
+ cd /srv/workspace/varlibschroot || exit 1
+ mkdir -p mount session union unpack
+ mkdir -p union/overlay union/underlay
+}
+
+#
+# init, notify about reboots
+#
+MESSAGE="$(hostname -f) rebooted"
+echo "$(date -u) - system was rebooted" | mail -s "$MESSAGE" root
+
#
-# By default this script does nothing.
+# notify jenkins reboots on irc
+#
+if [ "$(hostname)" = "jenkins" ] ; then
+ for channel in debian-qa debian-reproducible ; do
+ kgb-client --conf /srv/jenkins/kgb/$channel.conf --relay-msg "$MESSAGE"
+ done
+fi
+
+#
+# run some hosts in the future
+#
+case $(hostname) in
+ codethink-sled9*) send_back_to_the_future ;;
+ codethink-sled11*) send_back_to_the_future ;;
+ codethink-sled13*) send_back_to_the_future ;;
+ codethink-sled15*) send_back_to_the_future ;;
+ profitbricks-build4*) send_back_to_the_future ;;
+ profitbricks-build5*) send_back_to_the_future ;;
+ profitbricks-build6*) send_back_to_the_future ;;
+ profitbricks-build15*) send_back_to_the_future ;;
+ profitbricks-build16*) send_back_to_the_future ;;
+ *) ;;
+esac
-echo "$(date -u) - system was rebooted" | mail -s "$(hostname -f) rebooted" root
+#
+# put schroots on tmpfs for non debian hosts
+#
+case $(hostname) in
+ profitbricks-build3*) put_schroots_on_tmpfs ;;
+ profitbricks-build4*) put_schroots_on_tmpfs ;;
+ profitbricks-build7*) put_schroots_on_tmpfs ;;
+ *) ;;
+esac
+echo "$(date -u) - system booted up."
exit 0