From f16d776db2495b53939add2e86661735e89d9f76 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Mon, 28 Apr 2014 16:44:09 -0400 Subject: [PATCH] fix(coreos-base/oem-vagrant): Add timeout for /etc/environment The environment file will not be written if there are no public or private networks defined since the configure_networks hook is never run. Report an error after one minute to make this situation less confusing. --- .../oem-vagrant/files/coreos-setup-environment | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/coreos-setup-environment b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/coreos-setup-environment index 22b53abc37..616d3d1c96 100755 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/coreos-setup-environment +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-vagrant/files/coreos-setup-environment @@ -7,7 +7,17 @@ if [ -z "$ENV" ]; then exit 1 fi +now=$(date +%s) +timeout=$(( now + 60 )) + # just block until cloudinit updates environment while ! grep -qs ^COREOS_PUBLIC_IPV4 "$ENV"; do + if [[ $timeout -lt $(date +%s) ]]; then + echo "No network configuration provided by Vagrant!" >&2 + echo "Using localhost, for default public and private IPs" >&2 + echo "COREOS_PUBLIC_IPV4=127.0.0.1" >> "$ENV" + echo "COREOS_PRIVATE_IPV4=127.0.0.1" >> "$ENV" + exit + fi sleep 0.1 done