From 9d437489b8ce1f8cd9d34cd9ff4994ca18bd2d78 Mon Sep 17 00:00:00 2001 From: Julien Castets Date: Tue, 16 May 2017 09:19:11 +0000 Subject: Add address to config entry generated by _klibc_to_config_entry. If /run/net-.cfg contains an IPV4ADDR or an IPV6ADDR, the config file generated by _klibc_to_config_entry now contains the "address". LP: #1691135 --- cloudinit/net/cmdline.py | 5 +++++ tests/unittests/test_net.py | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cloudinit/net/cmdline.py b/cloudinit/net/cmdline.py index 7c5d11a7..61e23697 100755 --- a/cloudinit/net/cmdline.py +++ b/cloudinit/net/cmdline.py @@ -100,6 +100,11 @@ def _klibc_to_config_entry(content, mac_addrs=None): cur_proto = data.get(pre + 'PROTO', proto) subnet = {'type': cur_proto, 'control': 'manual'} + # only populate address for static types. While the rendered config + # may have an address for dhcp, that is not really expected. + if cur_proto == 'static': + subnet['address'] = data[pre + 'ADDR'] + # these fields go right on the subnet for key in ('NETMASK', 'BROADCAST', 'GATEWAY'): if pre + key in data: diff --git a/tests/unittests/test_net.py b/tests/unittests/test_net.py index 7c5dc4ef..052c4016 100644 --- a/tests/unittests/test_net.py +++ b/tests/unittests/test_net.py @@ -100,7 +100,8 @@ STATIC_EXPECTED_1 = { 'gateway': '10.0.0.1', 'dns_search': ['foo.com'], 'type': 'static', 'netmask': '255.255.255.0', - 'dns_nameservers': ['10.0.1.1']}], + 'dns_nameservers': ['10.0.1.1'], + 'address': '10.0.0.2'}], } # Examples (and expected outputs for various renderers). -- cgit v1.2.3