From e786ffd2a5d261c7f4ff296638f20bb1bd34e351 Mon Sep 17 00:00:00 2001 From: Yue Zhang Date: Tue, 22 Dec 2015 14:25:50 +0800 Subject: [PATCH] Add retry on restart network interface --- waagent | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/waagent b/waagent index 5713084..385be8f 100644 --- a/waagent +++ b/waagent @@ -469,8 +469,15 @@ class AbstractDistro(object): def GetInterfaceName(self): return GetFirstActiveNetworkInterfaceNonLoopback()[0] - def RestartInterface(self, iface): - Run("ifdown " + iface + " && ifup " + iface) + def RestartInterface(self, iface, max_retry=3): + for retry in range(1, max_retry + 1): + ret = Run("ifdown " + iface + " && ifup " + iface) + if ret == 0: + return + Log("Failed to restart interface: {0}, ret={1}".format(iface, ret)) + if retry < max_retry: + Log("Retry restart interface in 5 seconds") + time.sleep(5) def CreateAccount(self,user, password, expiration, thumbprint): return CreateAccount(user, password, expiration, thumbprint)