summaryrefslogtreecommitdiff
path: root/cloudinit/net/eni.py
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2016-06-20 17:10:45 -0400
committerScott Moser <smoser@ubuntu.com>2016-06-20 17:10:45 -0400
commite6b594bf2bf4cd40bbfbe9581c2b62f3b77e9123 (patch)
treec67eaf601903947d866fe5d2bfdc9e8078927f4d /cloudinit/net/eni.py
parent776b0cfe847f531d8d5a235f52673c3da1f06064 (diff)
parent4fc10ef3f349e6280e2002d980c4c63e6a741d2f (diff)
downloadvyos-cloud-init-e6b594bf2bf4cd40bbfbe9581c2b62f3b77e9123.tar.gz
vyos-cloud-init-e6b594bf2bf4cd40bbfbe9581c2b62f3b77e9123.zip
do not render systemd.link files
When fixing bug 1579130, we made cloud-init rename devices itself, rather than relying on the systemd.link files to do that. That was necessary to - rename devices in a container - rename devices on first boot or in any situation when the link files in the initramfs were stale. However, cloud-init was still writing .link files like: /etc/systemd/network/50-cloud-init-ens2.link That leads to just a confusing situation as cloud-init will trump any renaming systemd does in all cases. Also added here is a header into the rendered ENI file: /etc/network/interfaces.d/50-cloud-init.cfg that describes how to disable cloud-init networking. LP: #1594546
Diffstat (limited to 'cloudinit/net/eni.py')
-rw-r--r--cloudinit/net/eni.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/cloudinit/net/eni.py b/cloudinit/net/eni.py
index ccd16ba7..e5ed10fd 100644
--- a/cloudinit/net/eni.py
+++ b/cloudinit/net/eni.py
@@ -303,6 +303,7 @@ class Renderer(renderer.Renderer):
if not config:
config = {}
self.eni_path = config.get('eni_path', 'etc/network/interfaces')
+ self.eni_header = config.get('eni_header', None)
self.links_path_prefix = config.get(
'links_path_prefix', 'etc/systemd/network/50-cloud-init-')
self.netrules_path = config.get(
@@ -417,7 +418,8 @@ class Renderer(renderer.Renderer):
def render_network_state(self, target, network_state):
fpeni = os.path.join(target, self.eni_path)
util.ensure_dir(os.path.dirname(fpeni))
- util.write_file(fpeni, self._render_interfaces(network_state))
+ header = self.eni_header if self.eni_header else ""
+ util.write_file(fpeni, header + self._render_interfaces(network_state))
if self.netrules_path:
netrules = os.path.join(target, self.netrules_path)