View Issue Details

IDProjectCategoryView StatusLast Update
0000032AlmaLinux-8cloud-initpublic2021-03-15 10:16
Reporteralmalinux4all Assigned Toalukoshko  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86_64OSalmalinuxOS Version8.3 beta and RC
Summary0000032: cloud-init does not properly render networking for almalinux
DescriptionWe have built a qcow2 image using AlmaLinux, and used cloud-init with default configuration to initialise it. During the first boot, there is the following error message on the screen:

[ 24.172436] cloud-init[848]: 2021-02-25 17:43:30,439 - stages.py[ERROR]: Unable to render networking. Network config is likely broken: No available network renderers found. Searched through list: ['eni', 'sysconfig', 'netplan']

We think this is because cloud-init is not yet updated to recognize almalinux as a distro. See this file:

[root@ip-172-31-18-24 ~]# rpm -qf /usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py
cloud-init-19.4-11.el8_3.2.noarch

[root@ip-172-31-18-24 ~]# cat /usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py | grep KNOWN_DISTROS
KNOWN_DISTROS = ['centos', 'fedora', 'rhel', 'suse']
[...]
[root@ip-172-31-18-24 ~]#

So as you can see, the almalinux is not between the knows distros when cloud-init is redering networking.

Best regards,

Steps To Reproducebuild a qcow2 image with either AlmaLinux 8.3 beta or RC

use a cloud-init to initialise it and the default cloud-init configuration

create /etc/sysconfig/network-scripts/ifcfg-eth0 file, like below:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
IPV6INIT=no
NM_CONTROLLED=yes
PERSISTENT_DHCLIENT=1

create /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain

use old interface naming by passing the following parameter to the kernel: net.ifnames=0

Regards,

TagsNo tags attached.
abrt_hash
URL

Activities

swilkerson

2021-02-26 18:23

reporter   ~0000038

Isn't this the same as the other issue you posted?
https://bugs.almalinux.org/view.php?id=23

alukoshko

2021-03-03 16:45

administrator   ~0000040

Fixed cloud-init package is attached.
We will appreciate it if you test the package in your environment and give feedback.
Thanks.

almalinux4all

2021-03-08 11:04

reporter   ~0000042

yes, this is the same issue

almalinux4all

2021-03-08 11:07

reporter   ~0000043

We are going to test this and let you know how it goes. Thank you for the update.

almalinux4all

2021-03-08 20:56

reporter   ~0000045

Hello,

This did not solved the issue.

I think the problem is a bit more complex. If we check what value is compared against the KNOWN_DISTROS in the /usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py file, we found the following:

# cat /usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py | grep KNOWN_DISTROS
KNOWN_DISTROS = ['almalinux', 'centos', 'fedora', 'rhel', 'suse']
    return (util.system_info()['variant'] in KNOWN_DISTROS

so the value returned by util.system_info()['variant'] is looked through the values listed in KNOWN_DISTROS

Now, lets see what util.system_info()['variant'] returns in AlmaLinux and in CentOS:

This is from AlmaLiux:

Python 3.6.8 (default, Nov 6 2020, 09:39:16)
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cloudinit
>>> from cloudinit import util
>>> util.system_info()
{'platform': 'Linux-4.18.0-240.15.1.el8_3.x86_64-x86_64-with-centos-8.3-Purple_Manul', 'system': 'Linux', 'release': '4.18.0-240.15.1.el8_3.x86_64', 'python': '3.6.8', 'uname': uname_result(system='Linux', node='almalinux-1', release='4.18.0-240.15.1.el8_3.x86_64', version='#1 SMP Wed Feb 24 15:34:43 MSK 2021', machine='x86_64', processor='x86_64'), 'dist': ('almalinux', '8.3', 'Purple Manul'), 'variant': 'linux'}

This is from CentOS 8.3:

Python 3.6.8 (default, Aug 24 2020, 17:57:11)
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cloudinit
>>> from cloudinit import util
>>> util.system_info()
{'platform': 'Linux-4.18.0-240.1.1.el8_3.x86_64-x86_64-with-centos-8.3.2011', 'system': 'Linux', 'release': '4.18.0-240.1.1.el8_3.x86_64', 'python': '3.6.8', 'uname': uname_result(system='Linux', node='ip-172-31-9-161.eu-central-1.compute.internal', release='4.18.0-240.1.1.el8_3.x86_64', version='#1 SMP Thu Nov 19 17:20:08 UTC 2020', machine='x86_64', processor='x86_64'), 'dist': ('centos', '8', ''), 'variant': 'centos'}

So in AlmalInux, the util.system_info()['variant'] retrurns 'linux', while in CentOS 8.3, the util.system_info()['variant'] retrurns 'centos'

So you either add 'linux' in the KNOWN_DISTROS, or keep 'almalinux' there and the change somehow util.system_info()['variant'] to return 'almalinux'

alukoshko

2021-03-09 07:54

administrator   ~0000047

Many thanks for such a detailed report.
I'll prepare one more update for cloud-init soon.

alukoshko

2021-03-09 09:03

administrator   ~0000048

Here is updated package with fixed util.system_info()['variant'] and other patches that make almalinux behave like centos

almalinux4all

2021-03-09 14:32

reporter   ~0000050

Thank you, will verify and report back.

krasmussen

2021-03-11 06:01

reporter   ~0000051

I ran into the same issue earlier today and went ahead and tested out the patched cloud-init rpm provided above and figured I would report back that it worked perfectly for me.

almalinux4all

2021-03-11 09:08

reporter   ~0000052

he he, cool! Any idea when this fix will find its way in the official AlmaLinux repos?

alukoshko

2021-03-12 09:47

administrator   ~0000054

I believe the updated package will be published on Monday, March 15

alukoshko

2021-03-15 10:16

administrator   ~0000056

Published:
cloud-init-19.4-11.el8_3.2.alma.noarch.rpm

Issue History

Date Modified Username Field Change
2021-02-25 19:46 almalinux4all New Issue
2021-02-26 18:23 swilkerson Note Added: 0000038
2021-02-27 07:33 alukoshko Assigned To => alukoshko
2021-02-27 07:33 alukoshko Status new => acknowledged
2021-03-03 16:45 alukoshko Note Added: 0000040
2021-03-03 16:45 alukoshko File Added: cloud-init-19.4-11.el8_3.2.alma.noarch.rpm
2021-03-03 16:45 alukoshko Status acknowledged => feedback
2021-03-08 11:04 almalinux4all Note Added: 0000042
2021-03-08 11:04 almalinux4all Status feedback => assigned
2021-03-08 11:07 almalinux4all Note Added: 0000043
2021-03-08 20:56 almalinux4all Note Added: 0000045
2021-03-09 07:54 alukoshko Note Added: 0000047
2021-03-09 09:03 alukoshko Note Added: 0000048
2021-03-09 09:03 alukoshko File Added: cloud-init-19.4-11.el8_3.2.alma.noarch-2.rpm
2021-03-09 14:32 almalinux4all Note Added: 0000050
2021-03-11 06:01 krasmussen Note Added: 0000051
2021-03-11 09:08 almalinux4all Note Added: 0000052
2021-03-12 09:47 alukoshko Note Added: 0000054
2021-03-15 10:16 alukoshko Status assigned => closed
2021-03-15 10:16 alukoshko Resolution open => fixed
2021-03-15 10:16 alukoshko Note Added: 0000056