From 09fea85fd1f6fd944f4cdd8b97e283090178ae88 Mon Sep 17 00:00:00 2001
From: Ryan Harper <ryan.harper@canonical.com>
Date: Fri, 3 Apr 2020 12:58:08 -0500
Subject: [PATCH] net: ignore 'renderer' key in netplan config (#306)

LP: #1870421
---
 cloudinit/net/network_state.py            |  2 +-
 cloudinit/net/tests/test_network_state.py | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

--- a/cloudinit/net/network_state.py
+++ b/cloudinit/net/network_state.py
@@ -312,7 +312,7 @@ class NetworkStateInterpreter(metaclass=
 
     def parse_config_v2(self, skip_broken=True):
         for command_type, command in self._config.items():
-            if command_type == 'version':
+            if command_type in ['version', 'renderer']:
                 continue
             try:
                 handler = self.command_handlers[command_type]
--- a/cloudinit/net/tests/test_network_state.py
+++ b/cloudinit/net/tests/test_network_state.py
@@ -45,4 +45,14 @@ class TestNetworkStateParseConfig(CiTest
         self.assertNotEqual(None, result)
 
 
+class TestNetworkStateParseConfigV2(CiTestCase):
+
+    def test_version_2_ignores_renderer_key(self):
+        ncfg = {'version': 2, 'renderer': 'networkd', 'ethernets': {}}
+        nsi = network_state.NetworkStateInterpreter(version=ncfg['version'],
+                                                    config=ncfg)
+        nsi.parse_config(skip_broken=False)
+        self.assertEqual(ncfg, nsi.as_dict()['config'])
+
+
 # vi: ts=4 expandtab
