From e4ad56847bba65d3b6307066e262a72452199bce Mon Sep 17 00:00:00 2001 From: Andrew Gein Date: Wed, 29 Sep 2021 18:31:11 +0500 Subject: [PATCH] Fill entry['gateway'] for IPv6 routes Otherwise this code (https://github.com/canonical/cloud-init/blob/main/cloudinit/netinfo.py#L478) fails with ``` failed run of stage init ------------------------------------------------------------ Traceback (most recent call last): File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 652, in status_wrapper ret = functor(name, args) File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 283, in main_init sys.stderr.write("%s\n" % (netinfo.debug_info())) File "/usr/lib/python3/dist-packages/cloudinit/netinfo.py", line 496, in debug_info route_lines = route_pformat().splitlines() File "/usr/lib/python3/dist-packages/cloudinit/netinfo.py", line 480, in route_pformat r['gateway'], r['iface'], r['flags']]) KeyError: 'gateway' ------------------------------------------------------------ ``` --- cloudinit/netinfo.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cloudinit/netinfo.py b/cloudinit/netinfo.py index 628e2908f12..a93344e09a2 100644 --- a/cloudinit/netinfo.py +++ b/cloudinit/netinfo.py @@ -300,6 +300,7 @@ def _netdev_route_info_iproute(iproute_data): toks = line.split() if toks[0] == "default": entry['destination'] = "::/0" + entry['gateway'] = "::" entry['flags'] = "UG" else: entry['destination'] = toks[0]