summaryrefslogtreecommitdiff
path: root/cloudinit/sources
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/sources')
-rwxr-xr-xcloudinit/sources/DataSourceAzure.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py
index 6df9934b..ba23139b 100755
--- a/cloudinit/sources/DataSourceAzure.py
+++ b/cloudinit/sources/DataSourceAzure.py
@@ -923,6 +923,16 @@ class DataSourceAzure(sources.DataSource):
sleep(sleep_duration)
+ # Since we just did a unbind and bind, check again after sleep
+ # but before doing unbind and bind again to avoid races where the
+ # link might take a slight delay after bind to be up.
+ if self.distro.networking.is_up(ifname):
+ msg = ("Link is up after checking after sleeping for %d secs"
+ " after %d attempts" %
+ (sleep_duration, attempts))
+ report_diagnostic_event(msg, logger_func=LOG.info)
+ return
+
@azure_ds_telemetry_reporter
def _create_report_ready_marker(self):
path = REPORTED_READY_MARKER_FILE