|
Bugzilla – Full Text Bug Listing |
| Summary: | Cloud Snapshot 20230605 images do not perform dhcp with cloud-init | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Tumbleweed | Reporter: | William Brown <william.brown> |
| Component: | Patterns | Assignee: | Dominique Leuenberger <dimstar> |
| Status: | NEW --- | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Major | ||
| Priority: | P5 - None | CC: | rjschwei |
| Version: | Current | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
NetworkManager does not have an independent way to make a dhcp request, as such cloud-init still needs dhcp-client which should be installed as the package has
Requires: dhcp-client
therefore the cloud-init code itself will work w.r.t. retrieving the initial configuration and making the dhcp request.
After this initial stage, where cloud-init makes a dhcp request it is expected that the system network stack starts. That used to be wicked and cloud-init used to have an unconditional
Requires: wicked-service
directive. This was changed to
%if 0%{?suse_version} && 0%{?suse_version} <= 1500
Requires: wicked-service
%endif
As such it is now the responsibility of those that set up the image build to include a network stack tool of their choice. Meaning most likely a
<package name="NetworkManager">
is missing in the image description for the TW image build.
I do not know who maintains the build descriptions or where they are maintained. As such I will set this to "Other" as the images are not built in the Cloud:Images project
I think the affected image build is https://build.opensuse.org/package/view_file/Virtualization:Appliances:Images:openSUSE-Tumbleweed/kiwi-templates-Minimal/Minimal.kiwi?expand=1 |
openSUSE-Tumbleweed-Minimal-VM.x86_64-1.0.0-Cloud-Snapshot20230605.qcow2 does not attempt dhcp on machine boot. This changes the previous behaviour where dhcp/dhcp6 was requested. This appears to be a fault in cloud-init with the following message: Jun 09 11:10:45 nettest cloud-init[662]: 2023-06-09 01:10:45,140 - util.py[WARNING]: failed stage init-local Jun 09 11:10:45 nettest cloud-init[662]: failed run of stage init-local Jun 09 11:10:45 nettest cloud-init[662]: ------------------------------------------------------------ Jun 09 11:10:45 nettest cloud-init[662]: Traceback (most recent call last): Jun 09 11:10:45 nettest cloud-init[662]: File "/usr/lib/python3.10/site-packages/cloudinit/util.py", line 1608, in chownbyname Jun 09 11:10:45 nettest cloud-init[662]: uid = pwd.getpwnam(user).pw_uid Jun 09 11:10:45 nettest cloud-init[662]: KeyError: "getpwnam(): name not found: 'systemd-network'" Jun 09 11:10:45 nettest cloud-init[662]: The above exception was the direct cause of the following exception: Jun 09 11:10:45 nettest cloud-init[662]: Traceback (most recent call last): Jun 09 11:10:45 nettest cloud-init[662]: File "/usr/lib/python3.10/site-packages/cloudinit/cmd/main.py", line 767, in status_wrapper Jun 09 11:10:45 nettest cloud-init[662]: ret = functor(name, args) Jun 09 11:10:45 nettest cloud-init[662]: File "/usr/lib/python3.10/site-packages/cloudinit/cmd/main.py", line 433, in main_init Jun 09 11:10:45 nettest cloud-init[662]: init.apply_network_config(bring_up=bring_up_interfaces) Jun 09 11:10:45 nettest cloud-init[662]: File "/usr/lib/python3.10/site-packages/cloudinit/stages.py", line 939, in apply_network_config Jun 09 11:10:45 nettest cloud-init[662]: return self.distro.apply_network_config( Jun 09 11:10:45 nettest cloud-init[662]: File "/usr/lib/python3.10/site-packages/cloudinit/distros/__init__.py", line 278, in apply_network_config Jun 09 11:10:45 nettest cloud-init[662]: self._write_network_state(network_state, renderer) Jun 09 11:10:45 nettest cloud-init[662]: File "/usr/lib/python3.10/site-packages/cloudinit/distros/__init__.py", line 167, in _write_network_state Jun 09 11:10:45 nettest cloud-init[662]: renderer.render_network_state(network_state) Jun 09 11:10:45 nettest cloud-init[662]: File "/usr/lib/python3.10/site-packages/cloudinit/net/networkd.py", line 306, in render_network_state Jun 09 11:10:45 nettest cloud-init[662]: self.create_network_file(k, v, network_dir) Jun 09 11:10:45 nettest cloud-init[662]: File "/usr/lib/python3.10/site-packages/cloudinit/net/networkd.py", line 290, in create_network_file Jun 09 11:10:45 nettest cloud-init[662]: util.chownbyname(net_fn, net_fn_owner, net_fn_owner) Jun 09 11:10:45 nettest cloud-init[662]: File "/usr/lib/python3.10/site-packages/cloudinit/util.py", line 1612, in chownbyname Jun 09 11:10:45 nettest cloud-init[662]: raise OSError("Unknown user or group: %s" % (e)) from e Jun 09 11:10:45 nettest cloud-init[662]: OSError: Unknown user or group: "getpwnam(): name not found: 'systemd-network'" It appears that there are no network management packages installed: nettest:/home/admin # rpm -qa | grep -i wick nettest:/home/admin # rpm -qa | grep -i network nettest:/home/admin # Given the trend toward NetworkManager within SUSE, it is likely that NetworkManager should be the preferred backend here.