** Description changed: - As reported by user niluje, the ifi the initramfs tools write a config - that has static networking, then cloud-init would not populate the - address field in its rendered network config (_klibc_to_config_entry). + As reported by user niluje, if the initramfs tools write a config that + has static networking, then cloud-init would not populate the address + field in its rendered network config (_klibc_to_config_entry). The result would be incomplete or invalid configuration, and attempt to render that configuration would result in stacktrace due to KeyError. This can be seen in trunk with the net-convert tool as below. Editing the yaml and uncommenting the 'address' line will work. - $ cat /tmp/foo.yaml + $ cat /tmp/foo.yaml network: - version: 1 - config: - - name: eth1 - type: physical - subnets: - - 'type': 'static' - 'broadcast': '10.0.0.255' - 'control': 'manual' - 'gateway': '10.0.0.1' - 'dns_search': ['foo.com'] - 'netmask': '255.255.255.0' - 'dns_nameservers': ['10.0.1.1'] + version: 1 + config: + - name: eth1 + type: physical + subnets: + - 'type': 'static' + 'broadcast': '10.0.0.255' + 'control': 'manual' + 'gateway': '10.0.0.1' + 'dns_search': ['foo.com'] + 'netmask': '255.255.255.0' + 'dns_nameservers': ['10.0.1.1'] # 'address': '10.0.0.2' EOF $ PYTHONPATH=$PWD ./tools/net-convert.py --network-data=/tmp/foo.yaml --kind=yaml --output-kind=eni -d /tmp/out.d Input YAML config: - name: eth1 - subnets: - - broadcast: 10.0.0.255 - control: manual - dns_nameservers: - - 10.0.1.1 - dns_search: - - foo.com - gateway: 10.0.0.1 - netmask: 255.255.255.0 - type: static - type: physical + subnets: + - broadcast: 10.0.0.255 + control: manual + dns_nameservers: + - 10.0.1.1 + dns_search: + - foo.com + gateway: 10.0.0.1 + netmask: 255.255.255.0 + type: static + type: physical version: 1 Traceback (most recent call last): - File "./tools/net-convert.py", line 82, in <module> - main() - File "./tools/net-convert.py", line 58, in main - ns = network_state.parse_net_config_data(pre_ns) - File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 42, in parse_net_config_data - nsi.parse_config(skip_broken=skip_broken) - File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 225, in parse_config - self.parse_config_v1(skip_broken=skip_broken) - File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 240, in parse_config_v1 - handler(self, command) - File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 89, in decorator - return func(self, command, *args, **kwargs) - File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 296, in handle_physical - if ':' in subnet['address']: + File "./tools/net-convert.py", line 82, in <module> + main() + File "./tools/net-convert.py", line 58, in main + ns = network_state.parse_net_config_data(pre_ns) + File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 42, in parse_net_config_data + nsi.parse_config(skip_broken=skip_broken) + File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 225, in parse_config + self.parse_config_v1(skip_broken=skip_broken) + File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 240, in parse_config_v1 + handler(self, command) + File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 89, in decorator + return func(self, command, *args, **kwargs) + File "/home/smoser/src/cloud-init/cloud-init/cloudinit/net/network_state.py", line 296, in handle_physical + if ':' in subnet['address']: KeyError: 'address'
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1691135 Title: address field not set when reading cmdline/initramfs configured network To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-init/+bug/1691135/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
