Charmed-Kubernetes/kubernetes-master/templates/cdk-service-kicker

35 lines
956 B
Bash

#!/bin/sh
set -eu
# This service runs on boot to work around issues relating to LXD and snapd.
# Workaround for https://github.com/conjure-up/conjure-up/issues/1448
if [ -f '/proc/1/environ' ] && grep -q '^container=lxc' /proc/1/environ; then
echo "lxc detected, applying snapd apparmor profiles"
(set +e
apparmor_parser /var/lib/snapd/apparmor/profiles/*
echo "apparmor_parser: exit status $?"
)
else
echo "lxc not detected, skipping snapd apparmor profiles"
fi
# Workaround for https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/357
services="{{services}}"
deadline="$(expr "$(date +%s)" + 600)"
while [ "$(date +%s)" -lt "$deadline" ]; do
for service in $services; do
echo "$service: checking"
if ! systemctl is-active "$service"; then
echo "$service: not active, restarting"
systemctl restart "$service" || true
fi
done
sleep 10
done
echo "deadline has passed, exiting gracefully"