[01:34] minimal: so now my question is...is ds-identify even needed? [01:52] Code_Bleu: it reduces boot time so why wouldn't you use it, even if cloud-init can do mostly the right thing without it? [01:52] Code_Bleu: Also what we call "cloud-init" is harder to document and and debug and reason about in the general case if each distro / platform chooses chooses a different implementation of the final product. [02:08] Code_Bleu: it's better to try to stick to a common design pattern unless there is a good reason to deviate - it makes the internal assumptions of the code base simpler too [02:11] nothing is stopping end users from modifying their images to use it or not, but for the end user that doesn't want to build their own image, I think it is probably a better default than not using it [02:39] holmanb: does it reduce boot time? minimal just stated with all of that it still taks 2.5 seconds. Maybe I'm still missing something. [02:46] Code_Bleu: you misunderstood, minimal said it takes 2.5 seconds without ds-identify to check datasources in python code [03:43] holmanb: right. I'll try adding ds-identify to Alpine for the same scenario and see what difference that makes [03:47] quickly, just running ds-identify manually on the CLI and looking at the "[up ..." lines at the start and end of /var/run/cloud-init/ds-identify.log appears to show it taking 14 seconds... [03:48] and that's without fixing detect_virtual to call "virt-what" on Alpine which would add some more time [03:54] minimal: hmmmmm, that is unexpected [03:56] minimal: could you file a bug with the log? [03:56] it's really fast on systemd systems, haven't tested elsewhere [03:57] ah, it's 0.14 seconds......doh! [03:57] heh, okay much better [03:57] no need to file a bug obviously [03:57] misrad the lines, only realised when it ran it via "time" [03:59] all good [04:01] the only issue for me is I'd need to patch ds-identify to tweak the DI_DSLIST_DEFAULT value for some images I'm created [04:01] i.e. if I'm not building images for VMware then I don't install py3-netifaces as only VMware needs it [04:02] but then ds-identify has VMware in its DS list to check which would likely error if no py3-netifaces installed [04:02] likewise for Azure and py3-passlib [04:20] scanned through the ds-identify code and see a few other Alpine-related things I'll need to address [08:07] minimal: you don't need to patch that. you can give ds-identify a config file to read defaults from [10:22] minimal: and actually 0.14 seems a little slower than I'd expect [10:22] But been a while since ive measured [19:41] holmanb: i just realized: refactoring dmi.py to go into distros would make the fallback to dmi so much easier [20:37] holmanb: I think I've addressed everything in your review [22:02] +1 [22:02] meena: nice, will try to review Monday [22:09] minimal: Wikipedia suggests that Alpine's shell is actually based on dash (version 0.3.8-5) [22:48] holmanb: it is ash from Busybox [22:49] https://git.busybox.net/busybox/tree/shell/ash.c [22:51] the config info does say it is derived from Debian dash (1997-2005) [23:16] so, Wikipedia skipped a few decades of info… [23:19] FreeBSD's sh is also ash, but from NetBSD.