diff options
-rw-r--r-- | debian/patches/cpick-003c6678-net-remove-systemd-link-file-writing-from-eni-renderer | 95 | ||||
-rw-r--r-- | debian/patches/series | 1 |
2 files changed, 96 insertions, 0 deletions
diff --git a/debian/patches/cpick-003c6678-net-remove-systemd-link-file-writing-from-eni-renderer b/debian/patches/cpick-003c6678-net-remove-systemd-link-file-writing-from-eni-renderer new file mode 100644 index 00000000..76504ccb --- /dev/null +++ b/debian/patches/cpick-003c6678-net-remove-systemd-link-file-writing-from-eni-renderer @@ -0,0 +1,95 @@ +From 003c6678e9c873b3b787a814016872b6592f5069 Mon Sep 17 00:00:00 2001 +From: Ryan Harper <ryan.harper@canonical.com> +Date: Thu, 25 May 2017 15:37:15 -0500 +Subject: [PATCH] net: remove systemd link file writing from eni renderer + +During the network v2 merge, we inadvertently re-enabled rendering systemd +.link files. This files are not required as cloud-init already has to do +interface renaming due to issues with udevd which may refuse to rename +certain interfaces (such as veth devices in a LXD container). As such, +removing the code altogether. +--- + cloudinit/net/eni.py | 25 ------------------------- + tests/unittests/test_net.py | 9 +++------ + 2 files changed, 3 insertions(+), 31 deletions(-) + +--- a/cloudinit/net/eni.py ++++ b/cloudinit/net/eni.py +@@ -304,8 +304,6 @@ class Renderer(renderer.Renderer): + 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( + 'netrules_path', 'etc/udev/rules.d/70-persistent-net.rules') + +@@ -451,28 +449,6 @@ class Renderer(renderer.Renderer): + util.write_file(netrules, + self._render_persistent_net(network_state)) + +- if self.links_path_prefix: +- self._render_systemd_links(target, network_state, +- links_prefix=self.links_path_prefix) +- +- def _render_systemd_links(self, target, network_state, links_prefix): +- fp_prefix = util.target_path(target, links_prefix) +- for f in glob.glob(fp_prefix + "*"): +- os.unlink(f) +- for iface in network_state.iter_interfaces(): +- if (iface['type'] == 'physical' and 'name' in iface and +- iface.get('mac_address')): +- fname = fp_prefix + iface['name'] + ".link" +- content = "\n".join([ +- "[Match]", +- "MACAddress=" + iface['mac_address'], +- "", +- "[Link]", +- "Name=" + iface['name'], +- "" +- ]) +- util.write_file(fname, content) +- + + def network_state_to_eni(network_state, header=None, render_hwaddress=False): + # render the provided network state, return a string of equivalent eni +@@ -480,7 +456,6 @@ def network_state_to_eni(network_state, + renderer = Renderer(config={ + 'eni_path': eni_path, + 'eni_header': header, +- 'links_path_prefix': None, + 'netrules_path': None, + }) + if not header: +--- a/tests/unittests/test_net.py ++++ b/tests/unittests/test_net.py +@@ -992,9 +992,7 @@ class TestEniNetRendering(CiTestCase): + os.makedirs(render_dir) + + renderer = eni.Renderer( +- {'links_path_prefix': None, +- 'eni_path': 'interfaces', 'netrules_path': None, +- }) ++ {'eni_path': 'interfaces', 'netrules_path': None}) + renderer.render_network_state(ns, render_dir) + + self.assertTrue(os.path.exists(os.path.join(render_dir, +@@ -1376,7 +1374,7 @@ class TestNetplanRoundTrip(CiTestCase): + + class TestEniRoundTrip(CiTestCase): + def _render_and_read(self, network_config=None, state=None, eni_path=None, +- links_prefix=None, netrules_path=None, dir=None): ++ netrules_path=None, dir=None): + if dir is None: + dir = self.tmp_dir() + +@@ -1391,8 +1389,7 @@ class TestEniRoundTrip(CiTestCase): + eni_path = 'etc/network/interfaces' + + renderer = eni.Renderer( +- config={'eni_path': eni_path, 'links_path_prefix': links_prefix, +- 'netrules_path': netrules_path}) ++ config={'eni_path': eni_path, 'netrules_path': netrules_path}) + + renderer.render_network_state(ns, dir) + return dir2dict(dir) diff --git a/debian/patches/series b/debian/patches/series index 9331318f..d2512471 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ azure-use-walinux-agent.patch cpick-5fb49bac-azure-identify-platform-by-well-known-value-in-chassis ds-identify-behavior-xenial.patch +cpick-003c6678-net-remove-systemd-link-file-writing-from-eni-renderer |