[11:07] <meena> how are cloud sources documented?
[11:08] <meena> i was gonna complain in this pr that https://github.com/canonical/cloud-init/pull/522/files this is a little light on documentation, but, they all are https://github.com/canonical/cloud-init/blob/master/cloudinit/sources/DataSourceEc2.py
[12:48] <absc> Hi, I have a problem with booting a CentOS 8 machine converted to cloudlinux with cloudinit.
[12:49] <absc> It fails configuring the network cards
[12:51] <absc> To note: the same settings with a plain CentOS 8, works just finne
[12:51] <absc> *fine
[13:13] <meena> absc: how, exactly, does it fail? do you have a log of a run?
[13:14] <absc> 2020-09-09 12:57:43,608 - stages.py[ERROR]: Unable to render networking.  Network config is likely broken: No available network renderers found.  Searched through list: ['eni', 'sysconfig', 'netplan']
[13:14] <absc> If you want the whole log, just PM me
[13:14] <absc> This is the only error in the run
[13:16] <absc> meena: would you prefer the whole log with, also, debugging enabled?
[13:23] <meena> yes. and also, if you pm it me, it's not gonna be useful for anyone else here. so please use a pastebin service
[13:24] <meena> in general, I'm just here to ask you leading questions, until you can either help yourself, or the people with the @ in front of their names wake up
[13:24] <meena> absc: unless your questions are BSD related, then I'm usually your girl
[13:25] <absc> Ok, don't worry :D
[13:25] <absc> https://pastebin.com/GC0naTY4
[13:25] <absc> meena: here we go the logs
[13:27] <meena> Where's /var/log/cloud-init-output.log ?
[13:29] <absc> Just a moment
[13:33] <absc> meena: https://pastebin.com/6Pmvt7sg
[13:33] <absc> The cloud-init-output.log
[13:34] <meena> Error, this is a private paste. If this is your private paste, please login to Pastebin first.
[13:34] <absc> I'm an idiot
[13:35] <meena> technology hard,
[13:35] <absc> https://pastebin.com/BCqLC2Zn
[13:35] <absc> meena: this should be correct
[13:37] <meena> that's fun
[13:38] <absc> I think the output have too much noise, due to puppet being executed by cloud-init
[13:38] <meena> so puppet is absolutely unconcerned about the network not being up
[13:38] <meena> but the rhn Plugin isn't happy
[13:39] <absc> The VM is derived from a template. Is it possible that the old ips are kept before being changed?
[13:41] <absc> BTE, NetworkManager is installed on the machine
[13:41] <absc> *BTW
[13:47] <meena> absc: can you find what the network config looks like that this VM receives, and post that?
[13:48] <meena> also, which version of cloud-init does your *not* CloudLinux VM have?
[13:52] <absc> The NOT CloudLinux Vm use cloud-init 19.4.1
[13:54] <meena> so, pretty much the same
[13:55] <absc> meena: https://pastebin.com/iU5n0jb2
[13:56] <absc> Yes, it's the same
[13:56] <absc> The paste bin is what the VM have right now
[13:57] <absc> The iPS are the ones used to build the template machine
[13:57] <absc> But, the server ip's are in the same subnet
[13:58] <absc> And assigned to the same network interfaces
[14:09] <meena> who or what is assigning the IPs?
[14:10] <absc> The IPs are assigned by RHEV/Ovirt
[14:11] <absc> In our casa, with the ENI protocol
[14:11] <absc> *case
[14:14] <meena> why does the template have an IP? shouldn't it cleanup itself before creating an image?
[14:15] <absc> To be fair, we didn't bother removing those before making the template and the sealing doesn't remove it. We can try that, though.
[14:15] <absc> Otherwise, it worked anyway
[14:15] <absc> But, let me tell my collegue to make an attempt
[15:41] <absc> meena: We tried to remove all the IPs from the template before booting a cloned machine. It doesn't work
[15:41] <absc> Also, the cloud-init log show the same things as the pastebin I sent you
[15:43] <absc> BTW, we are using the stock cloud-init configuration as coming from the CentOS 8 repositories.
[16:12] <Odd_Bloke> absc: I (and perhaps others) missed the start of this conversation because of the Freenode downtime/netsplit which kicked me out of the channel until I logged in this morning; could you restate the problem you're having?
[16:12] <Odd_Bloke> (And re-paste things, perhaps: all those pastebin links are 404ing, I think.)
[16:15] <absc> Odd_Bloke: I'm going to give you a new paster bin
[16:17] <absc> Odd_bloke: https://pastebin.com/tiufNMwH
[16:17] <absc> Here is the cloud-init-output.log file
[16:17] <absc> TL;DR we use cloud-init to start and configure our hosting servers
[16:18] <absc> The servers are in an Ovirt/RHEV environment
[16:18] <absc> The OS is CentOS 8, converted to CloudLinux
[16:19] <absc> If we boot a plain CentOS 8 machine, everything is fine
[16:19] <absc> Cloud-init is able to properly configure the IP addresses we specify in the VM definition
[16:19] <absc> And assign it to eth0 and eth1
[16:20] <absc> But if we try to boot a CloudLinux OS machine (essentially, CentOS 8 + a custom kernel and some tooling)
[16:20] <absc> Cloud-init fails with an error as you see in the pastebin
[16:21] <absc> Complaining that: 2020-09-09 12:35:04,855 - stages.py[ERROR]: Unable to render networking. Network config is likely broken: No available network renderers found. Searched through list: ['eni', 'sysconfig', 'netplan']
[16:21] <absc> We tried varois things, but without luck
[16:22] <absc> Odd_Bloke: tel me if you need additional informations
[16:22] <Odd_Bloke> absc: Could I get cloud-init.log too, please?
[16:36] <absc> Odd_Bloke: https://pastebin.com/HCfBuVvV
[16:37] <absc> Here is the whole log
[17:37] <Odd_Bloke> absc: Are you expecting to render ENI or sysconfig within the instance?
[17:39] <meena> Odd_Bloke: their template has ENI…stuff.
[17:40] <Odd_Bloke> meena: I don't know what a template is in this context. :)
[17:40] <meena> machine template
[17:40] <Odd_Bloke> As in an image?
[17:41] <Odd_Bloke> (A disk image, I mean.)
[17:42] <Odd_Bloke> meena: It's worth noting that the log implies that cloud-init fetched ENI from the metadata service; this is normal in OpenStack/ConfigDrive, but does not imply that the running system will be using ENI.
[17:43] <meena> 16:10 <absc> The IPs are assigned by RHEV/Ovirt
[17:43] <meena> 16:11 <absc> In our casa, with the ENI protocol
[17:43] <Odd_Bloke> Right, that's what I mean.
[17:43] <Odd_Bloke> RHEV/Ovirt is providing the network config in ENI format, but it does not necessarily mean that the system uses ENI.
[17:43] <meena> they also have NetworkManager installed
[17:43] <meena> aye
[17:43] <Odd_Bloke> cloud-init will parse the provided ENI and then render the appropriate configuration for the system.
[17:44] <Odd_Bloke> The problem here is that it can't detect which network renderer is appropriate.
[17:45] <meena> Odd_Bloke: how do you tell that? and wouldn't it be nice if it was easier to tell that from the log?
[17:46] <Odd_Bloke> 2020-09-09 16:33:01,851 - stages.py[ERROR]: Unable to render networking. Network config is likely broken: No available network renderers found. Searched through list: ['eni', 'sysconfig', 'netplan']
[17:46] <Odd_Bloke> Doesn't seem like a horrible log message to me.
[17:47] <meena> oy
[17:47] <Odd_Bloke> Not sure that "Network config is likely broken" is right, at least not in this situation.
[17:49] <Odd_Bloke> If I had to guess (wildly), I would say that /etc/network/interfaces has been removed (perhaps in an attempt to avoid the network config continuing to apply on launched instances?) which means that cloud-init doesn't detect ENI as an option on this system: https://github.com/canonical/cloud-init/blob/master/cloudinit/net/eni.py#L542-L550
[17:50] <Odd_Bloke> absc: If you're expecting to render ENI in the system, then https://github.com/canonical/cloud-init/blob/master/cloudinit/net/eni.py#L542-L552 needs to return True.  If you're expecting sysconfig, then https://github.com/canonical/cloud-init/blob/master/cloudinit/net/sysconfig.py#L899-L903 needs to return True.
[17:53] <Odd_Bloke> absc: Hopefully that will give you an idea of what you're doing to the template that is causing cloud-init to fail. :)
[17:55] <rharper> Odd_Bloke: absc: several thoughts;  1) the in-image network config does not provide any mac address; so there's no way it will ever configure interfaces;    2) this is on RHEL, and you need to have sysconfig support enabled;  cloud-init doesn't render to NetworkManager directly  3) for RHEL8 with NM (and the requires sysconfig package installed) NM will read rendered sysconfig files from cloud-init, however since (1) is bad (no mac address for your
[17:55] <rharper> interfaces  even after fixing the image, you'll need to fix 1 as well;
[17:55] <rharper> absc: for RHEL8  I highly suggest looking at the packages installed in the Centos8 Cloud image;
[17:56] <rharper> https://cloud.centos.org/centos/8/x86_64/images/
[17:57] <Odd_Bloke> rharper: I thought this was already on Centos 8?
[17:57] <rharper> likely not proper cloud image
[17:57] <rharper> otherwise sysconfig would be detected
[17:57] <rharper> I've booked those from Centos8 I just linked to and it works fine;  so something's not right w.r.t the packages
[17:57] <Odd_Bloke> Yeah, I think they're building their own images for "CloudLinux"?
[17:57] <rharper> wasn't there some discussion of making a template?
[17:57] <rharper> yeah
[17:59] <meena> the word template has become meaningless over the past couple hours
[18:02] <meena> btw, minimal mentioned yesterday that cloud-utils provides tooling support for NoCloud, but if that's this thing: https://pypi.org/project/cloud-utils/ then that's not even almost true.
[18:13] <smoser> "the word template has become meaningless over the past couple hours"
[18:14]  * smoser agrees. but i don't think that is new in the last couple hours.
[18:26] <Odd_Bloke> meena: It's the cloud-utils Ubuntu package whose upstream is https://github.com/canonical/cloud-utils/
[18:28] <Odd_Bloke> (As you can see, we don't even have a setup.py there, so I don't know how you would get it on other distros/OSes.)
[19:54] <absc> Odd_Bloke: Sorry, I was away for an emergency
[19:57] <absc> As you (correctly) pointed out, we are talking about a pre-made image here
[19:59] <absc> If I remember correctly, we started, with the base system, from a CentOS 8 cloud image
[19:59] <absc> After that, with puppet, we install and configure a bunch of things
[20:00] <absc> In one of those steps, the operating system is converted from CentOS 8 to CloudLinux 8
[20:00] <absc> (CloudLinux 8 being nothing more than a customised CentOS 8)
[20:01] <absc> Probably, from what all of you told me, I'm missing some packages. I need to read all the past conversation and do some checks tomorrow morning
[20:01] <absc> (Sorry guys, I'm on the other side of the world) :D
[20:10] <Odd_Bloke> absc: No problem, let us know how it goes!  (And hopefully Freenode will let me read what you said during my night this time around. :p)
[20:11] <absc> Thank you again!
[20:42] <meena> Odd_Bloke, this thing seems awfully… bashy, https://github.com/canonical/cloud-utils/blob/master/bin/cloud-localds and Where's the remoteds equivalent
[20:49] <Odd_Bloke> meena: What would a remoteds equivalent do?
[20:49] <meena> i have literally no idea
[20:50] <meena> probably serve three files, lol
[20:50] <Odd_Bloke> Ah, then you can get it on Ubuntu with `apt install nginx`. ;)
[20:51] <Odd_Bloke> Or it comes out of the box with `python3 -m http.server`, if you really want. :p
[21:18] <meena> Odd_Bloke, I'm actually unable to install nginx. forbidden… for reasons