[06:57]    any comment on https://github.com/canonical/cloud-init/pull/4291 ? [06:57] -ubottu:#cloud-init- Pull 4291 in canonical/cloud-init "[RFC] NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64" [Open] [13:55] does anyone know where I can find the source repo / how these builds are built for https://copr.fedorainfracloud.org/coprs/g/cloud-init/cloud-init-dev/ ? [14:01] Guest12: it does not have defined source git, but it the sourced page is: https://code.launchpad.net/~cloud-init-dev/cloud-init/+git/cloud-init/ SRPM can be fetched from: https://copr-dist-git.fedorainfracloud.org/cgit/@cloud-init/cloud-init-dev/cloud-init.git [14:07] the SRPM should have the info on where it's getting the sources from [14:09] thanks pemensik[m] & meena - I think I'm starting to put it together looking at this - https://copr-dist-git.fedorainfracloud.org/cgit/@cloud-init/cloud-init-dev/cloud-init.git/tree/?h=epel9 [14:40] that copr repository has srpm uploaded to make a build. Therefore only owners knows how it is built exactly. [14:50] is there a more portable replacement for sudo cloud-init query ds? [14:55] pemensik[m] - "Therefore only owners knows how it is built exactly." - not super helpful :') [14:57] portable? [14:58] Found /etc/network/interfaces rendered on my CentOS Stream 9. But haven't found any Network Manager attempt to configure it [14:58] is that error on Digital Ocean recipe or is the error in CentOS Stream distribution? [14:59] pemensik[m] - that's exactly why I'm trying to figure out how to build it myself :') [14:59] mine is built like this: https://codeberg.org/FreeBSD/freebsd-ports/src/branch/main/net/cloud-init-devel/Makefile [15:00] when I bump the version, that's reflected there [15:00] https://github.com/canonical/cloud-init/releases need at least `22.2` if I'm reading the release notes correctly [15:00] pemensik[m]: check /var/log/cloud-init.log to see which renderer(s) are being used for CentOS? [15:01] I don't understand cloud-init enough to know where to look. [15:01] pemensik[m]: I just told you the filename [15:01] https://src.fedoraproject.org/rpms/cloud-init might provide recent SRPM buildable on centos 9 [15:02] Selected renderer 'sysconfig' from priority list: None [15:03] so then cloud-init isn't/shouldn't be creating/modifying /etc/network/interfaces as that is done by the "eni" renderer [15:03] ah, shoot. /etc/sysconfig/network-scripts/ifcfg-eth0 is there also, it seems with good configuration. But is not used by version 9 anymore [15:05] for Network Manager configuration then "network-manager" renderer should be used [15:05] is there way to recreate only network configuration from cloud-init, but leave ssh keys configured? [15:06] which ssh keys? [15:06] Original config has been created by 21.1-19.el9, but now I have cloud-init-23.1.1-7.el9.noarch [15:07] server ssh keys, as shown in /var/log/cloud-init-output.log ? [15:10] I assume you could set "ssh_deletekeys: false" in your user-data, clean up cloud-init and re-run it [15:13] looking at the cloud.cfg template, the default configuration for cloud-init on CentOS is to try to use these renderers (if supported) in order: sysconfig, eni, netplan, network-manager, networkd [15:16] just cleaned all anyway, but thanks. Will try next time [15:17] pemensik[m]: cloud-init treats all versions of CentOS in the same way. So, based, on what I said about default renderers list then CentOS Stream would need to be handled differently [15:23] minimal: do you know how it chooses which renderer to use? where is that specified? [15:24] but it can be potentially overridden in other places (i.e. files in /etc/cloud/cloud.cfg.d/ directory) [15:25] oops, /etc/cloud/cloud.cfg [15:26] are you using a standard CentOS image that comes with cloud-init or did you/someone else create this image? [15:27] found in /etc/cloud/cloud.cfg.rpmnew: renderers: ['sysconfig', 'eni', 'netplan', 'network-manager', 'networkd' ] [15:28] original /etc/cloud/cloud.cfg does not contain renderers at all [15:29] I did not create anything, but the machine were created by my colleague. I have no direct access into Digital Ocean interface [15:29] I believe it should be stock CentOS [15:30] ok, my question was "Is this an official CentOS image? or a DigitalOcean created/modified CentOS image? or created by someone else?" [15:30] I wish I know, sorry [15:30] as whomever created the image I'd expect to ensure it is configured appropriately [15:31] well it works and boots even this way. Not everyone wants ipv6 connectivity in their machines [15:31] sorry? I didn't mention IPv6 [15:32] so it is working? so what is the actual problem then? [16:07] at least from our internal openstack machines, centos 9 still chooses Selected renderer 'sysconfig' for some reason. [16:11] right, because by default cloud-init uses a cloud.cfg for CentOS that has sysconfig specified as the 1st renderer to try and use [17:57] Is there a way I can force detection of the datasource without doing any of the other stuff? [17:57] I.e., I just want to have cloud-init tell me what it thinks the data source is. [18:00] bahamat: /usr/lib/cloud-init/ds-identify --force, then check /run/cloud-init/cloud.cfg or /run/cloud-init/ds-identify.log [18:00] path may be different depending on your OS. If you use your package manager to list the files of cloud-init and the grep ds-identify, you can find it that way [18:01] falcojr: Thanks. [18:06] new release broke SmartOS datasource [18:13] meena: Yeah, I reported that bug. That's why I'm here. [20:05] I was wondering how I can force re-running of a specific module, specifically write_files. I'm trying to debug why on first boot I get errors, yet when I follow the procedure outlined here (https://stackoverflow.com/questions/23065673/how-to-re-run-cloud-init-without-reboot) to rerun everything, it works [20:28] ananke: what are the errors? [20:34] The error is cloud-init: TypeError: a2b_base64() argument 1 must be string or buffer, not None [20:35] and what does the trace look like? and the cloud-config? [20:38] it's hard to sanitize the data quickly, but the gist of it is that the write_files section is generated in part by AWS cloudformation. Eg, here's the part of CF template: https://dpaste.org/XrQPy [20:39] and the result is https://dpaste.org/tBs7q [20:40] base64 encoding is done on macos with base64 < inputfile. point being, there is actual value provided to the 'content: ' param [20:41] what's interesting is that: [20:42] 1) if the file with base64 encoding is first, then cloud-init throws that error [20:43] 2) if the file with base64 encoding is second, then cloud-init throws no errors, but it creates only the first file [20:44] and if I run the 'sudo cloud-init clean --logs ; sudo cloud-init init --local [20:44] and if I run the 'sudo cloud-init clean --logs ; sudo cloud-init init --local ; sudo cloud-init init [20:44] the base64 file will be created [20:46] baffles me to no end. and the recipe/config used to work, last year. the only thing that changed now may be the newer version of the OS, because I point to /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 rather than specific ami ID [20:47] hah. and it works now. it's one of those days, do something for N number of times, and somehow it fixes itself [21:15] weird [21:17] ananke: is this perhaps related to https://github.com/canonical/cloud-init/pull/4276 which was a base64-related handling issue that AWS has fixed in their AmazonLinux images but not in their AmazonLinux 2023 images? [21:17] -ubottu:#cloud-init- Pull 4276 in canonical/cloud-init "ec2: Support double encoded userdata" [Open] [21:20] perhaps AWS have updated their AL2023 images now with that fix [21:20] ah [21:20] * meena is not paying enough attention