** 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

Reply via email to