/srv/irclogs.ubuntu.com/2022/12/16/#cloud-init.txt

holmanbminimal: nice :) thanks for sharing00:31
holmanbmeena: is there anything special about freebsd on ec2 that would warrant this being datasource specific behavior? https://github.com/canonical/cloud-init/blob/040090a31f483014ec78cd353bb55bfae121bebd/cloudinit/sources/DataSourceEc2.py#L130  00:33
meenaholmanb: what does a dhclient-script look like?00:39
holmanbmeena: by default in cloud-init, it looks a lot like /bin/true ;)00:40
holmanbwe use that as a hack to limit side-effects00:41
meenaholmanb: then why does it need special-casing…?00:41
holmanbhrm?00:41
holmanbwhat do you mean by special-casing?00:41
meenaor rather: What does it look like on EC2 that it needs special-casing?00:41
holmanberrr, I think you may be asking the same thing I am?00:42
holmanbI'm wondering why this behavior is specific to ec200:42
holmanbthe /bin/true reference: https://github.com/canonical/cloud-init/blob/main/cloudinit/net/dhcp.py#L15000:43
minimalcloudinit/net/dhcp.py also uses "-sf /bin/true"00:43
minimalsnap :-)00:43
holmanb:)00:43
minimalholmanb: not directly related, but when I looked at the dhclient related stuff recently I was confused as to whether IPv6 is ever used (as then dhclient would need "-6" option)00:45
meenawhy use -sf then to begin with??00:45
minimalmeena: i think he means to avoid any script being unexpectedly used00:45
holmanbyeah, avoiding using the default script is I think the end goal - there isn't a way to disable running the script, so it just uses /bin/true as a no-op00:46
holmanbminimal: I don't htink v6 is used yet00:46
minimalif you don't specify "-sf" at all then /sbin/dhclient-script is used if it exists00:46
holmanband since avoiding calling /sbin/dhclient-script was the goal, which freebsd didn't support, I think that's why this freebsd-specific call ended up in the ec2 datasource00:47
holmanblooking at the commit history that's the story I'm seeing anyways00:47
minimalholmanb: ok, make sense. I was just starting to sketch out udhcpc and dhcpcd support and trying to understand current dhclient behavoiur as part of that00:47
holmanbminimal: +1 nice, udhcp and dhcpcd are the interesting ones on the ubuntu side as well00:48
holmanbhowever some sad news on the dhcpcd side00:49
holmanbthe last post on the mailing list00:49
minimallet me check..........but I can guess what it is about00:49
meenaeither someone died, or they're ending development 00:50
holmanbsomewhere in between, yeah00:50
holmanbhttps://roy.marples.name/archives/dhcpcd-discuss/0003457.html00:50
holmanb:/00:50
meenaoh gosh00:51
holmanbupdated on github as recently as 3 months ago by Roy00:51
minimaloh yeah, I read that at the time, I thought something had happened recently00:51
holmanbnot that I know of00:53
meenaholmanb: so, to summarize: https://github.com/canonical/cloud-init/blob/main/WIP-ONGOING-REFACTORIZATION.rst . DHCP needs to move into distro.00:54
meenaseeing as the Azure people are going to rip out their special-casing (blacklist_driver[s]), I'm going to focus on moving get_interfaces/get_interface(s)_by_mac() into distro. All the ground-work is now there in BSD.00:56
meenaAnd I can probably happily ignore some weird Linux weirdnesses, especially where they are completely undocumented.00:56
holmanbundocumented weirdness is where the fun is at00:56
meenaholmanb: aaaaaaand that's why i like BSD… if something is undocumented, it's a bug, but even so, at least the code is easy to read and understand… and FIND.00:57
holmanbheh :D00:58
minimalwell what I was going to point out is that both dhclient and udhcpc handle IPv4 and IPv6 via two different binaries/cli calls ("dhclient" and "dhclient -6", "udhcpc" and "udhcpc6") whereas dhcpcd does/can do both via a single call00:59
holmanbminimal: yeah, that's one of the reasons for the dhcpcd preference on our side as well00:59
minimalthat was why I was tryingf to figure out if existing dhclient code used "-6" or not, and if so in which situation/order01:00
minimalas dropping dhcpcd in "out of the box" would try both v4 & v6 unless configured othewise01:00
holmanbminimal: I'll be queuing up some time for provisional dhcpcd support within the next month or two01:01
holmanbminimal: I was just comparing the man pages side by side and noticed that as well :-)01:01
holmanbnever used cd myself01:01
holmanbdhcpcd01:01
minimalyeah I've not had much time to do clound-init stuff recently, only got rid of other stuff yesterday so want to get some backlogged c-i changes out as PRs in the next week or so01:02
holmanbwe have datasource-specific dhclient calls scattered about as well, which complicate the task a bit01:02
minimalholmanb: my brief look into udhcpc/dhcpcd was also why I started wondering about network-config v2 DHCP settings as well (and then how they'd appear in eni so I could check they'd then get acted upon correctly in Alpine)01:04
minimal^ IPv6 DHCP related settings I mean01:05
minimalwell IPv6 SLAAC/DHCPv6/RA etc01:05
holmanb:)01:06
minimalbut 1st to get those other code changes out the door....01:07
meenaI'm fairly certain, btw, that FreeBSD's dhclient can't do DHCPv6 out of the box. You'd need to install something else… which could turn into a chicken egg problm01:14
minimalmeena: no "-6" option for it?01:14
meenaminimal: nope01:15
minimalit's ISC dhclient isn't it?01:15
meenahttps://github.com/freebsd/freebsd-src/tree/main/sbin/dhclient01:16
meenagood grief… /*$OpenBSD: dhclient.c,v 1.63 2005/02/06 17:10:13 krw Exp $*/01:16
holmanbgoodness01:17
meenalike, it's been updated, or at least secured, and all, but… brrrr…01:17
minimal.\" Copyright (c) 1997 The Internet Software Consortium.01:17
minimalso its based on ISC's code, perhaps a prehistoric version01:17
meena#include <sys/capsicum.h> ← "secured"01:18
holmanbah, yeah there's a comment about capsicum on the manpage as well01:18
holmanbfalls back to a chroot for sandboxing01:18
minimalso I guess they forked it before ISC added IPv6 support01:18
meenathey forked it before IPv6 was standardized, minimal.01:19
minimalmeena: doesn't make my statement incorrect though ;-)01:20
holmanbLOL01:20
meenaimagine sifting thru 25 years of ISC dhcplient code to try add IPv6 support today.01:20
minimalwonder if there's some more recent "useful" DHCPv4 options not supported then01:21
meenaother than -sf? 🤷🏻‍♀️01:25
meena-1 seems useful…01:26
minimalwell I'm guess it supports RFC344201:26
minimalmeena: yupe, the c-i code uses "-1" when it calls dhclient01:26
minimalit runs "/usr/sbin/dhclient -1 -v -lf /run/dhclient.lease -pf /run/dhclient.pid eth0 -sf /bin/true" on Linux01:28
holmanbI need to run01:29
meenai need to sleep01:29
holmanbseeya o/01:29
minimalcya01:29
blackboxswaciba: ubuntu/devel branch merge to tip of main. I'm syncing it now, and will rekick integration test runners15:58
acibablackboxsw: let's see the green color there :)16:01
meenaminimal / holmanb: https://reviews.freebsd.org/D2201216:27

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