I'll also add that installers for past LTS Ubuntu releases do work in
our environment.

I opened up the Focal initrd.gz we use for PXE based installs (I think
it was from the mini.iso which I guess is now classified as a "Legacy
Image", http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-
amd64/current/legacy-images/netboot/mini.iso). What I found is that it
also is missing /etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes
HOWEVER it has an older /sbin/dhclient-script that does NOT have the
code that ignores "routers" option values when the RFC 3442 option 121
is present in the response. As a result it does configure the default
route based on the DHCP "routers" value but ignores the RFC 3442 info.
In our environment this means the routing is sub-optimal but networking
still largely functions and thus Focal installation "works".

The original poster reports trouble with Focal installer I don't know if
the difference is because they use a different Focal .iso or because
perhaps they strongly require the RFC 3442 routes for networking to
function in their environment.

My recollection regarding the changes in the newer dhclient-script is
that it that ignoring the "routers" option if the client supports and
uses the RFC 3442 routes option is the behavior specified in RFC 3442,
that the behavior of the old version to sort-of merge the "routers"
option and the RFC 3442 option 121 together was non-compliant. Though as
it turns out if the "rfc3442-classless-routes" hook file is accidentally
missing then that makes the behavior of the newer, more correct
dhclient-script version worse.

--Matt

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to busybox in Ubuntu.
https://bugs.launchpad.net/bugs/1937110

Title:
  dhcp option 121 & 249

Status in subiquity:
  New
Status in busybox package in Ubuntu:
  Confirmed

Bug description:
  Hello,

  I'm running into issues with subiquity on a cloud provider.  The cloud
  provider is using an on-link L3 gateway.

  
  His DHCP response looks like this:

  
  OPTION:  53 (  1) DHCP message type         5 (DHCPACK)
  OPTION:  54 (  4) Server identifier         172.31.1.1
  OPTION:  51 (  4) IP address leasetime      86400 (24h)
  OPTION:   1 (  4) Subnet mask               255.255.255.255
  OPTION:   3 (  4) Routers                   172.31.1.1
  OPTION:   6 ( 12) DNS server                ....
  OPTION: 121 ( 14) Classless Static Route    20ac1f0101000000  .......
                                            0000ac1f0101     ......
  OPTION: 249 ( 14) MSFT - Classless route    20ac1f0101000000  .......
                                            0000ac1f0101     ......

  
  Im booting the subiquity process with an patched ipxe 
(https://github.com/ipxe/ipxe/pull/104) like this:

  #!ipxe
  kernel .../vmlinuz initrd=initrd root=/dev/ram0 ramdisk_size=1500000 ip=dhcp 
url=https://cdimage.ubuntu.com/ubuntu-server/focal/daily-live/current/focal-live-server-amd64.iso
 autoinstall ds=nocloud-net;s=.../...-ad-78/ cloud-config-url=/dev/null
  initrd .../initrd
  boot

  initrd/vmlinuz is extracted right out of focal-live-server-amd64.iso

  Sadly subiquity is stuck with a broken network (because of missing
  dhcp option 121/249 support). It happens when its running the /init
  from the kernel right after kernel is booted, i guess even before the
  subiquity is started(?).

  After further debugging, it looks like the provided kernel 5.4.80 #90
  Ubuntu, is using busybox 1.30.1-4ubuntu~6.3 which includes isc-
  dhclient-4.4.1 which is lacking the given options.

  
  Would be awesome if this could be fixed.. maybe just a simple busybox compile 
option?

To manage notifications about this bug go to:
https://bugs.launchpad.net/subiquity/+bug/1937110/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to