** Description changed:
+ === Begin SRU Template ===
+ [Impact]
+ Rendering of netplan content was broken due to an incorrect
+ function signature in net/netplan.py:render_network_state.
+
+ The end result was that rendering of netplan configuration was
+ broken in actual usage. Note, though that no official Ubuntu images
+ use this path at the current time. Ubuntu image all use ifupdown.
+
+ [Test Case]
+ The basic idea below is:
+ a.) launch an instance with proposed version of cloud-init.
+ b.) inside instance, run the test case. That would stack trace
+ as seen in the bug on prior versions of cloud-init.
+ c.) show the output.
+
+ ## launch an instance.
+ $ release=xenial
+ $ ref=$release-proposed
+ $ lxc-proposed-snapshot --proposed --publish $release $ref
+ $ lxc launch $ref $name
+ $ lxc exec $name
+
+ % cat > render-test.py <<"EOF"
+ #!/usr/bin/python3
+ import sys
+ from cloudinit.net import netplan, eni, network_state
+ out_d = "./out.d" if len(sys.argv) < 2 else sys.argv[1]
+
+ cfg = {'version': 1,
+ 'config': [{'name': 'eth1', 'type': 'physical',
+ 'subnets': [{'type': 'dhcp'}]}]}
+
+ # Render eni and netplan to show that they both work.
+ ns = network_state.parse_net_config_data(cfg)
+ for renderer in netplan.Renderer(), eni.Renderer():
+ print("Rendering %s" % renderer)
+ renderer.render_network_state(ns, out_d)
+ EOF
+
+ $ python3 render-test.py out.d
+ Rendering <cloudinit.net.netplan.Renderer object at 0x7fd197c48208>
+ Rendering <cloudinit.net.eni.Renderer object at 0x7fd197c48278>
+
+ $ ( cd out.d && for f in $(find . -type f); do echo == $f ==; cat $f; done )
+ == ./etc/network/interfaces ==
+ auto lo
+ iface lo inet loopback
+
+ auto eth1
+ iface eth1 inet dhcp
+ == ./etc/netplan/50-cloud-init.yaml ==
+ network:
+ version: 2
+ ethernets:
+ eth1:
+ dhcp4: true
+ == ./etc/udev/rules.d/70-persistent-net.rules ==
+
+ $ dpkg-query --show cloud-init
+
+ [Regression Potential]
+ This specific change has basically zero regression potential as it
+ was in netplan specific path that was only previously excercised
+ with test cases.
+
+ [Other Info]
+ Upstream commit at
+ https://git.launchpad.net/cloud-init/commit/?id=a6572d9415e59
+
+ lxc-proposed-snapshot is
+
https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot
+ It publishes an image to lxd with proposed enabled and cloud-init upgraded.
+ === End SRU Template ===
+
+
% cat simple-v2.yaml
network:
- version: 2
- # comment above ethernets
- ethernets:
- ens0:
- dhcp4: true
- match:
- macaddress: 00:11:22:33:44:55
- set-name: ens0
- switchports:
- # all cards on second PCI bus; unconfigured by themselves, will be
added
- # to br0 below
- match:
- name: enp2*
- mtu: 1280
+ version: 2
+ # comment above ethernets
+ ethernets:
+ ens0:
+ dhcp4: true
+ match:
+ macaddress: 00:11:22:33:44:55
+ set-name: ens0
+ switchports:
+ # all cards on second PCI bus; unconfigured by themselves, will be
added
+ # to br0 below
+ match:
+ name: enp2*
+ mtu: 1280
% PYTHONPATH=`pwd` ./tools/net-convert.py --network-data simple-v2.yaml \
- --kind yaml \
- --output-kind netplan \
- --directory ./target
+ --kind yaml \
+ --output-kind netplan \
+ --directory ./target
Traceback (most recent call last):
- File "./tools/net-convert.py", line 82, in <module>
- main()
- File "./tools/net-convert.py", line 78, in main
- r.render_network_state(ns, target=args.directory)
+ File "./tools/net-convert.py", line 82, in <module>
+ main()
+ File "./tools/net-convert.py", line 78, in main
+ r.render_network_state(ns, target=args.directory)
TypeError: render_network_state() got multiple values for argument 'target'
-
This is broken on master.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1685944
Title:
tools/net-convert: fix argument order for render_network_state
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1685944/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs