diff options
-rw-r--r-- | waagent | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -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: |