/srv/irclogs.ubuntu.com/2022/10/06/#cloud-init.txt

holmanmeena: 1773 merged03:49
holmanmeena: I didn't realize openrc is using a service wrapper. I thought thought the !systemd branch was just sysv not the union of sysv and openrc.03:57
holmanmeena: yeah scratch my request I don't think it makes sense in light of that information04:16
=== janitha77 is now known as janitha7
=== janitha78 is now known as janitha7
meenawho's got opinions on versioning of development versions?11:48
meenaI have https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266847 cloud-init-devel-22.4 (and will be bumping the revision every week or so)11:49
-ubottu:#cloud-init- bugs.freebsd.org bug 266847 in Ports & Packages "[newport] net/cloud-init-devel" [Affects Only Me, New]11:49
meenabut, does that make any sense? will there be a cloud-init 22.4? should I just go with 23.1 ?11:49
=== VoliKoN3 is now known as VoliKoN
acibameena: There will be a 22.4 soon -> https://discourse.ubuntu.com/t/cloud-init-2022-release-schedule/2541312:28
meenawow, i just installed alpine into a VM for testing, and it boots faster than some docker containers13:15
meenagit pull, and I'm getting ============================== 128 failed, 4345 passed, 10 skipped, 243 warnings in 44243.08s (12:17:23) ==============================13:30
meenawhat did I do??13:30
meenaminimal: 14:15 <meena> wow, i just installed alpine into a VM for testing, and it boots faster than some docker containers13:33
=== VoliKoN1 is now known as VoliKoN
minimalmeena: yeah it's pretty lightweight :-)13:44
minimalmeena: I am working on changes to deal with service enable/disable in distros/alpine.py13:49
meenaminimal: oh cool, so I don't have to :D13:49
minimalmeena: it will just be a change to the existing manage_service function in alpine.py13:50
minimalmeena: doh! getting confused. It will be a change to manage_service in __init__.py13:56
meenaminimal: __init__.py handles the general cases, that's why there's only systemctl and service in there. I put rcctl into openbsd.py, and a specialized service into freebsd.py13:56
minimalmeena: coffee effects are wearing off plus I'm in the middle of other non-cloud-init stuff, anyway I'm already working on the Alpine-specific case13:59
minimalmeena: the "complication" for enabling/disabling services is, in which runlevel?14:08
minimalso I'm only going to do so for the default runlevel as manage_service doesn't pass a runlevel14:09
meenaminimal: yeah, i think it would be overkill to add runlevels14:11
minimalmeena: also am trying to figure out how exactly to handle the "status" option for manage_service14:37
minimalOpenRC returns different exit codes for "started" (0), "stopped" (3), and no such service(1)14:38
minimallooks like cc_set_passwords is the only that calls manage_service("status", ...) and it doesn't distinguish between "stopped" and "no such service"14:41
meenaminimal: subp takes an array of expected return values, IIRC14:59
=== janitha79 is now known as janitha7
=== janitha71 is now known as janitha7
meenahow can i get pytest to log a useful log file i can share with people to help me figure out why those tests are failing on FreeBSD17:52
meenaalso, i wonder now, if OpenBSD / NetBSD have the same or different failures17:52
falcojrmeena: what are you looking for? Default log usually works fine for me. '-s' and '-v' can be added for more verbosity17:52
meenafalcojr: oh17:53
falcojrblackboxsw and holman: with hotplug enabled, if we have a new interface added with no details other than an interface name, what would you expect to happen?18:49
falcojrignore it completely? Render a config that uses dhcp on both interfaces? If we did that, we'll get two defaults routes which...technically won't actually hurt anything but doesn't make a whole lot of sense either18:50
blackboxswhrm, @falcojr would we be able to add a metic: 200 to the config on that new device we add?19:13
blackboxswthen any dhcp we setup will prioritize the original device that was attached over  the hotplugged device19:14
blackboxswthen any dhcp we setup will prioritize the default routes on original device that was attached over  the hotplugged device19:14
blackboxswwe do the "route-metric" increment by 100 netplan dance for any 'secondary' nics in both Azure and Ec2 based on NIC ordering19:15
blackboxswusing `dhcp4-overrides`19:16
blackboxswthough on hotremove, we'd have to somehow reset those metrics19:16
holmanno config provided? I'd expect us not to configure it19:18
holmanWhy would we configure it if not given config information?19:19
falcojrwell by default we're not given config for the primary interface either19:21
blackboxswI was only thinking if a cloud-platform default is dhcp on my devices and their IMDS only gives us a device name as each NIC is added to a vm/container cloud-init would opt to setup dhcp there.19:21
blackboxswBut maybe that's an incorrect assumption to make in the absence of specific config data. Note as well if there are non-dhcp uses in LXD, those launching the platform can specify their passthrough cloud-init.network-config to state otherwise if that is an unwanted.19:26
holmanquestion: do any clouds provide the ability via the cloud api/cli/ui to actually configure a dhcp server?19:32
holman(not manually via another server on the same subnet)19:32
minimalholman: MAAS seems to provide a means to configure an external DHCP server instead of builtin MAAS one...19:42
holmanminimal: nice, thanks19:42
holmanOkay, lets say we dhcp by default on every interface - the user passes in (via kernel cli) a config with static IPs and dhcp disabled. What would they expect when they log in?19:43
* holman goes to read code19:46
holmanA few assumptions that I have about this question if @blackboxsw @falcojr or anyone feels different let me know:19:58
holman 1) If default case is for cloud dhcp servers to hand out IP information in the same subnet and only a default route, configuring a second interface doesn't make much sense (why add two default routes?)19:58
holman 2) I think there is a case to be made for assuming dhcp on every interface if nics are to be in separate subnets and that subnet information is disseminated via dhcp (presumably configured via a web console/api/cli).19:58
holman 3) A user should be able to override the dhcp information with a provided config.19:58
meenahttps://cloud-init.io/ somewhat broken: the frame on the right says: can’t connect to the server at tube.cthd.icu.20:26
holmanmeena: I don't see the same thing. Is that the  frame next the text that says "The standard for customising cloud instances"20:28
falcojrmeena: got any extensions installed that might block/redirect youtube? It looks ok on my end20:28
meenafalcojr: ah, yeah, i do20:28
meenaokay, so, where does pytest log into?20:30
meenaI'm not seeing anything… and I'm not seeing anything in .gitignore either20:31
falcojrshould all spit out to stdout/stderr unless you have some other redirection happening20:31
falcojrthere's also flags for specifying log related stuff including --log-file20:32
blackboxswthanks holman: I think I leaned toward, LXD is using dhcp as primary setup config for systems and we could provide an easy automation for folks who opt into hotplug to just auto-cfg of secondary NICs with a deprioritized dhcp route-metric. But, per your point and stgraber's, having multiple NICs with dhcp setup is something that someone could easily configure via lxc config set cloud-init.network-config.20:33
meenafalcojr: ah20:35
blackboxswholman: but per our discussion, it sounds like the configuration of the NIC expressed in /dev/lxd/sock: 1.0/devices is more intended for the LXD host than client config, and the consensus is that anyone hotplugging the secondary NICs should be providing explicit cloud-init.network-config anyway for their use case prior to adding the new NIC so that cloud-init knows specifically the conifg intent of those devices.20:35
blackboxswso our approach for hotplug on LXD is to document set cloud-init.network-config first, then add NICs to ensure cloud-init sets up the network correctly for your needs (as needs wll vary)20:37
meenalots of subp mocks failing… weird.20:40
falcojrmeena: I wouldn't be surprised if we have a number of tests that forgot to mock something that is Linux specific20:50
falcojrwhen it "works on my machine", it's hard to know if there's something 5 calls down from what you're testing that needs to be mocked20:51
meenafalcojr: aye21:00
meenafalcojr: here's the output: https://gist.github.com/75c61c84c09a8edbe357713ca3aa1f1421:03
falcojroh hmmm...I wouldn't be expecting all of those subp errors. My guess is that there might be a lower level function being used everywhere that has a python version in linux, but shells out on BSD.21:04
falcojror we're mocking the linux version, but not the BSD version21:05
meenafalcojr: can we file this officially as bug ?21:43
falcojrmeena: sure21:43
meenaalso, can we add a circle-ci build, too? well, once we got enough of them fixed…21:44
meena(i don't know any other CI that has not-Linux…)21:44
meenawell, source hut, too21:45
falcojrthat's a bigger discussion I think21:46
falcojrour upstream CI is currently in Travis, and I think it'd be more work than we'd like to migrate it to another 3rd party service21:47
falcojrwe keep the surface fairly small on CI to keep costs down as well21:47
meenafalcojr: are you paying Travis?21:49
meena(pretty sure anyone who doesn't, has migrated away from it)21:49
falcojryes, Canonical pays for it21:50
blackboxswmeena: yeah we had a bit of a set of hiccups when Travis started rate-limiting on opensource projects and we had to start paying for Quality of service for CI builds.  Some of our test loads are run by jenkins as well as github actions/workflows for some projects. So, now we are spread across three frameworks for test-related efforts. And in the works is potentially a move to github self-hosted runners 21:58
blackboxswhttps://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners21:58
meenaoh, i didn't know GitHub had that…21:59
meenaa FLOSSfriend looked into GitHub actions and their security model was… shaky… i wonder if they've done anything about that since…21:59
meenabut self-hosted runners would be pretty sweet, if you have an OpenStack (?) fleet with different OSes…22:00
* meena tries to remember what she was trying to do after getting a request to do… something else22:02
meenaat least i'm done with my report writing22:02
meenaah, right, test my ntp changes22:09
meenaooh, i need to extend the docs!22:27
meenacc_ntp works to enable ntpd on FreeBSD. Now to test with chrony and openntpd.23:04
meenaactually, i might leave that until tomorrow, given that I can't quite keep my eyes open…23:05
minimalmeena: working on the manage_service related stuff for alpine, think the cc_ntp tests need changed to handle non-systemd23:05
meenaminimal: \o/23:06
* meena should actually be working on tests for her ifconfig parser23:06
minimalmeena: am finding 1 test failure where the ntp testcase is expecting systemd's systemctl to be used when (Alpine's) rc-service is used, in process of figuring it out23:07
meenajust for my laptop, i should be able to start ntpd with -g23:08
meena(i hope i won't need that in real cloud environments…)23:08
meenaopenntpd on FreeBSD: ✅23:31
meenaGonna check chrony tomorrow23:31

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!