4 BURL="http://169.254.169.254/2009-04-04"
5 MDURL="${BURL}/meta-data"
6 UDURL="${BURL}/user-data"
9 CLOUD_CONFIG=${STATE_D}/config.sh
14 [ -d "${STATE_D}" ] || mkdir -p "${STATE_D}"
16 [ -f "${CLOUD_CONFIG}" ] && . "${CLOUD_CONFIG}"
17 # CLOUD_CONFIG may set
21 TMPF=/tmp/${0##*/}.tmp
22 trap "rm -f ${TMPF}" EXIT
23 msg() { echo "${XN}: $1"; }
25 if [ "${2}" = "-" ]; then
26 wget -q -O - "${MDURL}/${1}"
28 local out=${2:-${TMPF}}
29 wget -q -O - "${MDURL}/${1}" > "${out}" &&
30 { read _RET < "${TMPF}" ; :; }
34 local name=${2:-${XN}} iid=${1}
35 [ -f "${SEM_D}/${name}.${iid}" ]
38 local name=${2:-${XN}} iid=${1}
39 { [ -d "${SEM_D}" ] || mkdir "${SEM_D}"; } ||
40 msg "failed to make ${SEM_D}"
41 date > "${SEM_D}/${name}.${iid}"
45 local dbf="${STATE_D}/mddebug"
46 if [ -f "${dbf}" ]; then
48 msg "running ${dbf} (${MD_DEBUG_COUNT} tries reached)"
49 echo "############ debug start ##############"
51 echo "############ debug end ##############"
54 msg "running debug (${MD_DEBUG_COUNT} tries reached)"
55 echo "############ debug start ##############"
56 echo "### /etc/rc.d/init.d/sshd start"
57 /etc/rc.d/init.d/sshd start
59 gw=$(route -n | awk '$1 == "0.0.0.0" && $2 != "0.0.0.0" { print $2 }')
60 echo "### ifconfig -a"
64 echo "### cat /etc/resolv.conf"
66 if [ -n "${gw}" ]; then
67 echo "### ping -c 5 ${gw}"
70 echo "### gateway not found"
72 local t1 t2 t3 nslist="" ns=""
73 while read t1 t2 t3; do
75 nameserver) nslist="${nslist} ${t2}";;
77 done < /etc/resolv.conf
78 echo "### pinging nameservers"
79 for ns in ${nslist}; do
80 echo "#### ping -c 5 ${ns}"
85 lxc-is-container || { echo "### lsmod"; lsmod; }
86 echo "### dmesg | tail"
88 echo "### tail -n 25 /var/log/messages"
89 tail -n 25 /var/log/messages
90 echo "############ debug end ##############"
94 [ "${IS_NOCLOUD:-0}" != "0" ] && return 0
96 { grep -q "ds=nocloud" /proc/cmdline && return 0; }
97 [ -f /root/nocloud ] && return 0