[00:03] <blackboxsw> 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] <blackboxsw> 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] <dbungert> blackboxsw: ack, I started the livecd-rootfs side today
[00:04] <blackboxsw> falcojr is going to manage the SRU release for 23.3. I'll assist w/ subiquity-specific testing where needed.
[01:10] <blackboxsw> 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] <senzilla> Hello 👋 Any OpenBSD people here? 😊 I have run into some issues related to dhcp and network bring-up on OpenBSD
[17:00] <senzilla> I chatted to minimal yesterday, and I will open an issue on GitHub tomorrow and describe the issues in more detail
[17:02] <minimal> meena: ping!
[17:14] <senzilla> meena: Thanks for all the FreeBSD improvements to cloud-init! I think it's brought OpenBSD a lot closer as well! 🙂
[17:59] <meena> senzilla: hi
[18:00] <meena> minimal has relayed your issues, but i haven't had much time to do stuff today
[18:00] <meena> kiddo is back to school on Friday… 
[18:03] <meena> So, essentially, we need to split this into a base class, and one for each divergent BSD
[18:15] <senzilla> 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] <inflatador> minimal thanks for the heads-up on that
[18:16] <minimal> senzilla: dhcpcd and udhcpc support was added recently as part of catering for dhclient EOL
[18:16] <senzilla> 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] <senzilla> 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] <minimal> senzilla: is that IPv4 only?
[18:22] <senzilla> Yeah, unfortunately I think so
[18:37] <senzilla> I think the OpenBSD distro class could set preferred dhcp class priority based on ipv6 setting
[18:41] <meena> 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] <senzilla> 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] <senzilla> meena: and, good luck with the VM update :)
[18:51] <meena> https://github.com/canonical/cloud-init/blob/main/cloudinit/net/dhcp.py#L199
[18:51] <meena> not netops, netops should work.
[18:51] <meena> already ran out of memory twice on compiling LLVM.
[18:51] <senzilla> Yes, I think netops will work. But I don't think IscDhclient will work
[18:52] <holmanb> senzilla: hi o/
[18:53] <senzilla> I think we need a new class, something like Dhcpleased(DhcpClient) which works entirely with dhcpleased and dhcpleasectl
[18:53] <senzilla> holmanb: 👋
[18:53] <holmanb> senzilla: thanks for digging into this, your help on this is welcome and appreciated :D
[18:53] <holmanb> senzilla: sounds like you're on the right track
[18:54] <senzilla> I'm not super
[18:55] <senzilla> ...familiar with python
[18:55] <meena> senzilla: do you have any sysvinit files for OpenBSD you can contribute?
[18:55] <senzilla> is it only the @classmethod methods that count as the actual "public" Dhcp class interface?
[18:56] <meena> senzilla: we'll happily help… but, i wasn't super familiar with Python before starting to work on cloud-init (and iocage)
[18:56] <holmanb> 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] <holmanb> senzilla: no classmethod just means that the method can be called with the class without instansiating an object instance
[18:58] <senzilla> 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] <meena> oy
[18:59] <meena> i didn't realize
[18:59] <meena> but i think goneri does it similarly
[18:59] <senzilla> 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] <meena> https://goneri.lebouder.net/2022/11/11/bsd-cloud-image-org-new-images/
[19:00] <senzilla> 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] <senzilla> meena: Yeah, I have studied goneri's work a fair bit
[19:02] <meena> 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] <senzilla> 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] <senzilla> It's less good for integration :P
[19:04] <senzilla> s/BSD/OpenBSD/
[19:04] <meena> *nod* *nod*
[19:05] <senzilla>  But hey, rc is placed in /etc... It's free for all right :P
[19:09] <meena> are there any other ports that modify /etc/rc? 
[19:16] <senzilla> 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] <senzilla> I have got a set of Packer templates for building cloud-init OpenBSD VMs. Similar to what goneri is doing.
[19:19] <senzilla> 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