blob: 9df502e3280e0c84a6651ae5cd347f1b55678fc2 (
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#!/bin/sh
CI_NET_READY="/run/cloud-init/network-config-ready"
LOG="/run/cloud-init/${0##*/}.log"
LOG_INIT=0
MAX_WAIT=60
DEBUG=0
block_until_ready() {
local fname="$1" max="$2"
[ -f "$fname" ] && return 0
udevadm settle "--timeout=$max" "--exit-if-exists=$fname"
}
log() {
[ -n "${LOG}" ] || return
[ "${DEBUG:-0}" = "0" ] && return
if [ $LOG_INIT = 0 ]; then
if [ -d "${LOG%/*}" ] || mkdir -p "${LOG%/*}"; then
LOG_INIT=1
else
echo "${0##*/}: WARN: log init to ${LOG%/*}" 1>&2
return
fi
elif [ "$LOG_INIT" = "-1" ]; then
return
fi
local info="$$ $INTERFACE"
if [ "$DEBUG" -gt 1 ]; then
local up idle
read up idle < /proc/uptime
info="$$ $INTERFACE $up"
fi
echo "[$info]" "$@" >> "$LOG"
}
main() {
local name="" readyfile="$CI_NET_READY"
local info="INTERFACE=${INTERFACE} ID_NET_NAME=${ID_NET_NAME}"
info="$info ID_NET_NAME_PATH=${ID_NET_NAME_PATH}"
info="$info MAC_ADDRESS=${MAC_ADDRESS}"
log "$info"
## Check to see if cloud-init.target is set. If cloud-init is
## disabled we do not want to do anything.
if [ ! -f "/run/cloud-init/enabled" ]; then
log "cloud-init disabled"
return 0
fi
if [ "${INTERFACE#lo}" != "$INTERFACE" ]; then
return 0
fi
block_until_ready "$readyfile" "$MAX_WAIT" ||
{ log "failed waiting for ready on $INTERFACE"; return 1; }
log "net config ready"
}
main "$@"
exit
# vi: ts=4 expandtab
|