diff --git a/elements/os-net-config/os-refresh-config/configure.d/20-os-net-config b/elements/os-net-config/os-refresh-config/configure.d/20-os-net-config index 572db79e3..2598067f1 100755 --- a/elements/os-net-config/os-refresh-config/configure.d/20-os-net-config +++ b/elements/os-net-config/os-refresh-config/configure.d/20-os-net-config @@ -48,9 +48,58 @@ function ping_metadata_ip() { fi } +function configure_safe_defaults() { + +[[ $? == 0 ]] && return 0 + +cat > /etc/os-net-config/dhcp_all_interfaces.yaml </dev/null + HAS_LINK="$(cat /sys/class/net/${iface}/carrier)" + + TRIES=10 + while [ "$HAS_LINK" == "0" -a $TRIES -gt 0 ]; do + HAS_LINK="$(cat /sys/class/net/${iface}/carrier)" + if [ "$HAS_LINK" == "1" ]; then + break + else + sleep 1 + fi + TRIES=$(( TRIES - 1 )) + done + if [ "$HAS_LINK" == "1" ] ; then +cat >> /etc/os-net-config/dhcp_all_interfaces.yaml <