diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-dhcp b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-dhcp index 06b29fb855..72615f76e4 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-dhcp +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/files/exoscale-dhcp @@ -2,22 +2,20 @@ get_dhcp_ip() { local leases_dir="/run/systemd/netif/leases" + local found=0 while true; do - if [[ "$(find "${leases_dir}" -type f -size +1c)" ]]; then - break - fi + for leasefile in $(find "${leases_dir}" -type f -size +1c); do + dhcp_server_ip=$(cat $leasefile | awk -F= '/SERVER_ADDRESS/ { print $2 }') + if [[ -n "${dhcp_server_ip}" ]]; then + metadata_url="http://${dhcp_server_ip}/latest/meta-data/" + if curl --fail -s "${metadata_url}" >/dev/null; then + echo $dhcp_server_ip + found=1 + break + fi + fi + done + [[ $found -eq 0 ]] || break sleep .5 done - - for leasefile in "${leases_dir}/"*; do - dhcp_server_ip=$(cat $leasefile | awk -F= '/SERVER_ADDRESS/ { print $2 }') - if [[ -n "${dhcp_server_ip}" ]]; then - metadata_url="http://${dhcp_server_ip}/latest/meta-data/" - curl --fail -s "${metadata_url}" >/dev/null - if [[ $? -eq 0 ]]; then - echo $dhcp_server_ip - break - fi - fi - done } diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.4.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.5.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.4.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/oem-exoscale/oem-exoscale-0.0.5.ebuild