SUSE sysconfig renderer enablement incomplete
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Expired
|
Medium
|
Unassigned |
Bug Description
With db50bc0d9 the sysconfig renderer was enabled for openSUSE and SUSE Linux Enterprise. This implementation is incomplete and network rendering for openSUSE and SLES is now completely broken.
Message in cloud-init.log:
stages.py[ERROR]: Unable to render networking. Network config is likely broken: No available network renderers found. Searched through list: ['eni', 'sysconfig', 'netplan']
The issue is that the available() method in sysconfig.py looks for
expected_paths = [
in addition to ifup and ifdown. While ifup and ifdown are found the above scripts do not exists on openSUSE and SLES.
The equivalent to 'etc/sysconfig/
'etc/sysconfig/
One option is of course to not look for such specific location and "trust" that the necessary script for the given distro are installed. We would only check for ifup and ifdown commands as those are necessary. The underying distro implementation for script handling may not be as important here.
Fedora 29 is presenting the same problem today with last release.
Error message:
2018-11-01 11:19:30,680 - stages.py[ERROR]: Unable to render networking. Network config is likely broken: No available network renderers found. Searched through list: ['eni', 'sysconfig', 'netplan']
Also cloud-init is not running at new boot.