cloud-init-dev team mailing list archive
-
cloud-init-dev team
-
Mailing list archive
-
Message #06807
[Merge] ~rjschwei/cloud-init:breakLink into cloud-init:master
Robert Schweikert has proposed merging ~rjschwei/cloud-init:breakLink into cloud-init:master.
Requested reviews:
cloud-init Commiters (cloud-init-dev)
For more details, see:
https://code.launchpad.net/~rjschwei/cloud-init/+git/cloud-init/+merge/374517
If /etc/resolv.conf is a symlink break the link to avoid having our changes clobbered by netconfig
+ netconfig maintains a symlink of /etc/resolv.conf and will write the
traget of this symlink unconditionally. If the symlink persists when
cloud-init writes the dns information the cloud-init written user
configuration gets lost
--
Your team cloud-init Commiters is requested to review the proposed merge of ~rjschwei/cloud-init:breakLink into cloud-init:master.
diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
index e381596..44a2f11 100644
--- a/cloudinit/net/sysconfig.py
+++ b/cloudinit/net/sysconfig.py
@@ -708,6 +708,12 @@ class Renderer(renderer.Renderer):
resolv_content = self._render_dns(network_state,
existing_dns_path=dns_path)
if resolv_content:
+ # netconfig checks if the resolv file is a link and if that
+ # is true it assumes it is in controil of the file and
+ # will clobber our changes, break the link to ensure the user
+ # configuration sticks
+ if os.path.islink(dns_path):
+ os.unlink(dns_path)
util.write_file(dns_path, resolv_content, file_mode)
if self.networkmanager_conf_path:
nm_conf_path = util.target_path(target,
Follow ups