summaryrefslogtreecommitdiff
path: root/hack/make/.integration-daemon-stop
blob: 59f62aa5937742eb2bed6e77f766d2d472ad9549 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env bash

if [ ! "$(go env GOOS)" = 'windows' ]; then
	for pidFile in $(find "$DEST" -name docker.pid); do
		pid=$(
			[ -n "$TESTDEBUG" ] && set -x
			cat "$pidFile"
		)
		(
			[ -n "$TESTDEBUG" ] && set -x
			kill "$pid"
		)
		if ! wait "$pid"; then
			echo >&2 "warning: PID $pid from $pidFile had a nonzero exit code"
		fi
		root=$(dirname "$pidFile")/root
		if [ -d "$root" ]; then
			umount "$root" || true
		fi
	done

	if [ -z "$DOCKER_TEST_HOST" ]; then
		# Stop apparmor if it is enabled
		if [ -e "/sys/module/apparmor/parameters/enabled" ] && [ "$(cat /sys/module/apparmor/parameters/enabled)" == "Y" ]; then
			(
				[ -n "$TESTDEBUG" ] && set -x
				/etc/init.d/apparmor stop || true
			)
		fi
	fi
else
	# Note this script is not actionable on Windows to Linux CI. Instead the
	# DIND daemon under test is torn down by the Jenkins tear-down script
	echo "INFO: Not stopping daemon on Windows CI"
fi