=== esv_ is now known as esv [14:56] minimal: where even is get_partition_mbr_layout() called? [14:58] Hi. It, and get_partition_gpt_layout, are called when you specify partition(s) to be created [15:00] meena: https://github.com/canonical/cloud-init/blob/main/cloudinit/config/cc_disk_setup.py#L717 [16:01] what's get_dyn_ [16:01] get_dyn_func [16:14] https://github.com/canonical/cloud-init/blob/7368071568f444b576b49ffe9ef83e3928c9e8bb/cloudinit/config/cc_disk_setup.py#L434 [16:15] so it calls either get_partition_mbr_layout() or get_partition_gpt_layout() depending on the value of table_typr [16:26] minimal: ah, i thought it might be a python builtin [16:39] * meena sometimes feels like she doesn't know enough, and knows too much about Linux [17:34] meena: re disk_setup, does freebsd even have the various programs that this uses? [17:46] minimal: it's got equivalents in base, or you can install the others from ports [17:50] meena: ok, just wondering if it has ever been tested for FreeBSD, considering that the module is tagged as for all distros... [17:51] https://man.freebsd.org/gpart(8) and the much much older https://man.freebsd.org/fdisk(8) [17:52] minimal: i haven't, but i'd like to be able to provision VMs with extra storage [17:52] meena: but the module doesn't use gpart of fdisk, only sfdisk or sgdisk... [17:52] s/of /or / [17:53] so I guess the answer is it doesn't (currently) work for BSDs and so the ALL_DISTROS line should be changed [17:54] yeah, I think i have a bug open for that [17:54] or, you know, for implementing FreeBSD compatibility, at least [17:54] oh? don't think I noticed that, I searched launchpad recently for disk_setup bugs [17:55] don't know enough about OpenBSD and NetBSD to implement those as well, [17:56] meena: BTW, for cc_ca_certs I have some FreeBSD support implemented (as part of a general overhaul of that module) [17:56] I hope to raise a draft PR maybe in the next week once I finish some local testing at which point I'd ask if you could test it for FreeBSD [17:57] Nice [17:57] ! [17:57] there was a lot wrong with that module so I've been fixing it up [17:57] I can imagine [17:58] the FreeBSD stuff is for FreeBSD 12 (12.2?) where the certctl tool was added [17:58] I looked into fixing up the Puppet module back in the day, and gave up, mostly. [17:59] yeah, but that's all supported FreeBSDs then? isn't it? [17:59] you tell me, you're the FreeBSD expert ;-) [18:03] OpenBSD: https://man.openbsd.org/disklabel.8 i can only find interactive uses of this thing tho [18:04] https://www.freebsd.org/where/ yupp, 11 is EOL [18:09] looks like gpart is the tool to use on FreeBSD [18:11] think I'm going to write a PR to add ALL_LINUX_DISTROS and ALL_BSD_DISTROS definitions in addition to the existing ALL_DISTROS [18:27] I think i talked about this with blackboxsw? and he disagreed that it would be very useful, given how, once something doesn't work on one Linux distro, the implementations vary so widely [18:29] well I'm thinking of it in the context of changing cc_disk_setup from ALL_DISTROS now to ALL_LINUX_DISTROS as it (currently) obviously doesn't support BSD yet [18:30] yeah, but, like, you could split that almost infinitely [18:31] like, all debian distros, and then more specifically, all Ubuntu distros and so forth [18:31] yes, there are "family" definitions already in c-i [18:31] I lost track of how rhel splits these days, with CentOS gone [18:32] ah, [18:32] if you look in cloudinit/distros/__init__.py you'll see these [18:32] OSFAMILIES [18:32] including freebsd defined as freebsd and dragonfly