opencomputeproject / onie

Open Network Install Environment
https://opencomputeproject.github.io/onie
Other
606 stars 376 forks source link

NOS install from DHCP exact URL #1029

Open jbo-nflow opened 1 year ago

jbo-nflow commented 1 year ago

Hi,

I'm playing around with automatic NOS installs using an exact URL from DHCP options, using the KVM x86_64 version of ONIE. Two issues I've noticed:

For the first bullet, on eth0 I see a DHCP of message type request on eth0 with the following parameter request list (option 55):

    Option: (55) Parameter Request List
        Length: 15
        Parameter Request List Item: (1) Subnet Mask
        Parameter Request List Item: (3) Router
        Parameter Request List Item: (6) Domain Name Server
        Parameter Request List Item: (7) Log Server
        Parameter Request List Item: (12) Host Name
        Parameter Request List Item: (15) Domain Name
        Parameter Request List Item: (28) Broadcast Address
        Parameter Request List Item: (42) Network Time Protocol Servers
        Parameter Request List Item: (43) Vendor-Specific Information
        Parameter Request List Item: (54) DHCP Server Identifier
        Parameter Request List Item: (66) TFTP Server Name
        Parameter Request List Item: (67) Bootfile name
        Parameter Request List Item: (72) Default WWW Server
        Parameter Request List Item: (114) DHCP Captive-Portal
        Parameter Request List Item: (125) V-I Vendor-specific Information

so missing 150?

For the second bullet, on the secondary interface (eth1), I only see a DHCP request with the following parameter request list:

    Option: (55) Parameter Request List
        Length: 9
        Parameter Request List Item: (1) Subnet Mask
        Parameter Request List Item: (3) Router
        Parameter Request List Item: (6) Domain Name Server
        Parameter Request List Item: (7) Log Server
        Parameter Request List Item: (12) Host Name
        Parameter Request List Item: (15) Domain Name
        Parameter Request List Item: (28) Broadcast Address
        Parameter Request List Item: (42) Network Time Protocol Servers
        Parameter Request List Item: (119) Domain Search

ONIE version:

ONIE version        : master-02221425-dirty
ONIE vendor_id      : 42623
ONIE build_machine  : kvm_x86_64
ONIE machine_rev    : 0
ONIE arch           : x86_64
ONIE build_platform : x86_64-kvm_x86_64-r0
ONIE config_version : 1
ONIE build_date     : 2023-02-22T14:25+00:00
ONIE partition_type : gpt
ONIE kernel_version : 5.4.86
ONIE firmware       : auto
ONIE switch_asic    : qemu
ONIE skip_ethmgmt_macs: yes
ONIE grub_image_name: grubx64.efi
ONIE uefi_boot_loader: grubx64.efi
ONIE uefi_arch      : x64

I am using libvirt with dnsmasq as the dhcp/tftp server, so for example:

<network xmlns:dnsmasq='http://libvirt.org/schemas/network/dnsmasq/1.0'>
  <name>sim-isolated</name>
  <uuid>a31f278b-ca90-45d1-a04f-4a8b173d14e7</uuid>
  <mac address='52:54:00:3b:ab:17'/>
  <ip address='192.168.254.17' netmask='255.255.255.224'>
    <tftp root='/var/lib/tftp'/>
    <dhcp>
      <range start='192.168.254.18' end='192.168.254.30'/>
    </dhcp>
  </ip>
  <dnsmasq:options>
    <dnsmasq:option value='dhcp-option=67,my-installer.bin/>
    <dnsmasq:option value='dhcp-option=150,192.168.254.17/>
  </dnsmasq:options>
</network>

I am able to work around by having above libvirt network be the primary interface (eth0) and using option 114 with either a tftp:// url or setting up a http server, but just wondering if this is indeed an issue or expected behavior.