summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--waagent21
1 files changed, 20 insertions, 1 deletions
diff --git a/waagent b/waagent
index 6416140..79070ae 100644
--- a/waagent
+++ b/waagent
@@ -2262,7 +2262,26 @@ def Deprovision(force, deluser):
Run("rm -f " + a + "/*")
# Clear LibDir, remove nameserver and root bash history
- for f in os.listdir(LibDir) + ["/etc/resolv.conf", "/root/.bash_history", "/var/log/waagent.log"]:
+ fileBlackList = [ "/root/.bash_history", "/var/log/waagent.log" ]
+
+ if IsUbuntu():
+ # Ubuntu uses resolv.conf by default, so removing /etc/resolv.conf will
+ # break resolvconf. Therefore, we check to see if resolvconf is in use,
+ # and if so, we remove the resolvconf artifacts.
+
+ if os.path.realpath('/etc/resolv.conf') != '/run/resolvconf/resolv.conf':
+ Log("resolvconf is not configured. Removing /etc/resolv.conf")
+ fileBlackList.append('/etc/resolv.conf')
+ else:
+ Log("resolvconf is enabled; leaving /etc/resolv.conf intact")
+ resolvConfD = '/etc/resolvconf/resolv.conf.d/'
+ fileBlackList.extend([resolvConfD + 'tail', resolvConfD + 'originial' ])
+ else:
+ fileBlackList.append(os.listdir(LibDir) + '/etc/resolv.conf')
+
+
+ # Clear LibDir, remove nameserver and root bash history
+ for f in os.listdir(LibDir) + fileBlackList:
try:
os.remove(f)
except: