Thursday 19 May 2022

Re: isc-dhcp: should we start phasing it out?

On Mon, May 16, 2022 at 03:21:38PM -0400, Dan Streetman wrote:
> On Mon, May 16, 2022 at 3:06 PM Steve Langasek
> <steve.langasek@ubuntu.com> wrote:

> > As I mentioned at
> > <https://lists.debian.org/debian-devel/2022/05/msg00047.html>, isc-dhcp is
> > no longer used out of the box as the DHCP client in Ubuntu, on either
> > desktop or server; server uses systemd-networkd's internal dhcp client
> > implementation, and desktop uses NetworkManager's.

> There are still users of 'dhclient', especially in some cloud environments.

Aside from the cloud-init case, what are they using it for?

We can't carry every piece of unmaintained software in perpetuity because of
some user somewhere using it. We *should* aim to make sure that their use
cases are cared for. So specifics would be helpful here.

> I suspect there will be a demand for it until someone updates systemd
> to be able to replace its functionality, with something like:
>
> $ networkctl dhclient eth0
>
> That would require an upstream discussion to figure out the exact
> usage and implement it, of course.
>
> > The only reason that
> > isc-dhcp is still installed by default is for the initramfs: because we
> > support nfsroot, iscsi, remote disk unlock via dropbear, etc.
> >
> > Several suggestions of path forward on support for dhcp in the initramfs, in
> > no particular order:
> >
> > - work with klibc upstream to extend ipconfig to be a suitable DHCP client
> > for the initramfs (requires DHCP support)
> >
> > - migrate to a systemd-based initramfs everywhere, and use systemd-networkd
> >
> > - Repackage isc-dhcp to provide an 'isc-dhcp-initramfs' package that no
> > longer provides integration with the main system, so that it can continue
> > to be used for initramfs without having a large ongoing support surface
> > (but, this doesn't remove the need for security support)
> >
> >
> > > We also have the udebs, but with subiquity being the installer now we
> > > probably don't need to worry about these anymore?
> >
> > We definitely don't need to worry about udebs in future Ubuntu releases;
> > they aren't even built in Launchpad in the current series.
> >
> > > rdeps at https://people.canonical.com/~ubuntu-archive/germinate-output/ubuntu.kinetic/rdepends/isc-dhcp/
> >
> > > Removing isc-dhcp would also allow us to reduce the need of old compat
> > > src:bind9-libs package, probably even drop it.
> >
> > Ugh
> >
> > > Could we perhaps start with phasing out the client, get its rdeps to
> > > use alternatives, and then stop building it, and eventually get to the
> > > server? This could be a lot of work, as I said, isc-dhcp is a classic,
> > > but if upstream is shifting its focus elsewhere, soon we will be
> > > alone.
> >
> > I think you'll find that phasing out the client is much more work than
> > phasing out the server, given the ways the client is integrated in other
> > packages.
> >
> > > Reverse-Depends
> > > * cloud-init
> >
> > Another example of client integration that's going to require attention;
> > cloud-init uses isc-dhcp-client to be able to query specific dhcp attributes
> > in early boot used to identify the cloud metadata service.
> >
> > > * dracut-network
> > > * isc-dhcp-client-ddns [amd64 arm64 armhf ppc64el s390x]
> > > * libguestfs0 [amd64 arm64 armhf ppc64el s390x]
> > > * netscript-2.4
> > > * network-manager [amd64 arm64 armhf ppc64el s390x]
> >
> > I think network-manager's dependency on isc-dhcp-client is vestigial. You
> > will not find any instances of isc-dhcp-client running on an Ubuntu 22.04
> > desktop system.
> >
> > Cheers,
> > --
> > Steve Langasek Give me a lever long enough and a Free OS
> > Debian Developer to set it on, and I can move the world.
> > Ubuntu Developer https://www.debian.org/
> > slangasek@ubuntu.com vorlon@debian.org
> > --
> > ubuntu-devel mailing list
> > ubuntu-devel@lists.ubuntu.com
> > Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Thanks,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org