[00:03] SRU uploads queued for 23.3 into Focal, Jammy and Lunar -proposed. Thanks falcojr for the PRs and uploads there. We will probably start an SRU verification this week then [00:04] dbungert: as a heads up, this is the cloud-init SRU that we know will require a livecd-rootfs set of changes to drop the After=snapd.seeded.service systemd dependency ordering for Jammy [00:04] blackboxsw: ack, I started the livecd-rootfs side today [00:04] falcojr is going to manage the SRU release for 23.3. I'll assist w/ subiquity-specific testing where needed. [01:10] ppa:cloud-init-dev/proposed has cloud-init 23.3 uploaded and built for focal, jammy, lunar and mantic if that helps anyone for testing. [16:59] Hello 👋 Any OpenBSD people here? 😊 I have run into some issues related to dhcp and network bring-up on OpenBSD [17:00] I chatted to minimal yesterday, and I will open an issue on GitHub tomorrow and describe the issues in more detail [17:02] meena: ping! [17:14] meena: Thanks for all the FreeBSD improvements to cloud-init! I think it's brought OpenBSD a lot closer as well! 🙂 [17:59] senzilla: hi [18:00] minimal has relayed your issues, but i haven't had much time to do stuff today [18:00] kiddo is back to school on Friday… [18:03] So, essentially, we need to split this into a base class, and one for each divergent BSD [18:15] meena: Right. We might also need a new Dhcp class. IscDhclient might not cut it for OpenBSD since it's based on dhclient which is being phased out in OpenBSD. It would be better to use dhcpleasectl instead [18:16] minimal thanks for the heads-up on that [18:16] senzilla: dhcpcd and udhcpc support was added recently as part of catering for dhclient EOL [18:16] meena: dhclient is still in OpenBSD base, but it's not working well with assumptions in cloud-init (pid files and lease files are not compatible I think) [18:18] Yesterday, I started stubbing out a new Dhcp class for dhcpleased/dhcpleasectl . I won't find much time in the next couple of days, but I think it'll be pretty straight forward [18:20] senzilla: is that IPv4 only? [18:22] Yeah, unfortunately I think so [18:37] I think the OpenBSD distro class could set preferred dhcp class priority based on ipv6 setting [18:41] senzilla: how well would dhcplease(d|ctl) work for the net_ops class? [18:42] * meena is trying to update her dev VM to 14.0 ALPHA [18:48] meena: I need to dive into the code base a bit more to answer that. Don't have it in front of me right now [18:51] meena: and, good luck with the VM update :) [18:51] https://github.com/canonical/cloud-init/blob/main/cloudinit/net/dhcp.py#L199 [18:51] not netops, netops should work. [18:51] already ran out of memory twice on compiling LLVM. [18:51] Yes, I think netops will work. But I don't think IscDhclient will work [18:52] senzilla: hi o/ [18:53] I think we need a new class, something like Dhcpleased(DhcpClient) which works entirely with dhcpleased and dhcpleasectl [18:53] holmanb: 👋 [18:53] senzilla: thanks for digging into this, your help on this is welcome and appreciated :D [18:53] senzilla: sounds like you're on the right track [18:54] I'm not super [18:55] ...familiar with python [18:55] senzilla: do you have any sysvinit files for OpenBSD you can contribute? [18:55] is it only the @classmethod methods that count as the actual "public" Dhcp class interface? [18:56] senzilla: we'll happily help… but, i wasn't super familiar with Python before starting to work on cloud-init (and iocage) [18:56] senzilla: fyi, the Udhcpc class is incomplete and won't fully function on azure (and maybe others, would need to check), but it's a really good starting place to get a dhcp_discovery() implimented for whichever class is needed for OpenBSD [18:57] senzilla: no classmethod just means that the method can be called with the class without instansiating an object instance [18:58] meena: I do not have any sysvinit files. I actually think the best way to integrate cloud-init is to patch /etc/rc. I don't like patching base, but I think it makes sense here. Because OpenBSD have intentionally hard coded a lot of the init and service startup procedures. And getting cloud-init inserted early enough would require patching /etc/rc [18:59] oy [18:59] i didn't realize [18:59] but i think goneri does it similarly [18:59] Alternatively, a cleanly packaged version could create a couple of sysvinit files. But cloud-init will only come in right at the end after all base services [19:00] https://goneri.lebouder.net/2022/11/11/bsd-cloud-image-org-new-images/ [19:00] meena: goneri is writing the cloud-init boot stages to /etc/rc.local which is only just before user defined services. Still way after base services start up [19:01] meena: Yeah, I have studied goneri's work a fair bit [19:02] on FreeBSD we're very early. basically, after network is up (including ntpd, i think) and after the critical part of the filesystems is mounted. [19:03] Yeah, one have to patch /etc/rc to get inserted that early in OpenBSD. The hard coded and fully predictable start up order in BSD is great for robustness, predictability and security guarantees [19:03] It's less good for integration :P [19:04] s/BSD/OpenBSD/ [19:04] *nod* *nod* [19:05] But hey, rc is placed in /etc... It's free for all right :P [19:09] are there any other ports that modify /etc/rc? [19:16] Don't think so. I think the port should *not* patch /etc/rc . I doubt that would get accepted. It's probably best to leave that as a documented manual intervention [19:17] I have got a set of Packer templates for building cloud-init OpenBSD VMs. Similar to what goneri is doing. [19:19] I haven't reached out to goneri yet, but it would make sense to collaborate with him on a standard pre-patched cloud-init OpenBSD image