So, for now, I'll put aside all the BMC discovery and just consider the 
xCAT-style PXE based discovery, to have a common reference point. Same 
capabilities, same limitations.

When PXE goes, the dynamic range is not needed because the following packet is 
emitted by a node doing PXE boot:

Ethernet II, Src: Broadcom_e8:0e:b8 (b0:26:28:e8:0e:b8), Dst: Broadcast 
(ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
   Source Port: 68
   Destination Port: 67
   ....
Dynamic Host Configuration Protocol (Discover)
   Message type: Boot Request (1)
   Hardware type: Ethernet (0x01)
   Hardware address length: 6
   Hops: 0
   Transaction ID: 0x21a78fc6
   Seconds elapsed: 0
   Bootp flags: 0x8000, Broadcast flag (Broadcast)
   Client IP address: 0.0.0.0
   Your (client) IP address: 0.0.0.0
   Next server IP address: 0.0.0.0
   Relay agent IP address: 0.0.0.0
   Client MAC address: Broadcom_e8:0e:b8 (b0:26:28:e8:0e:b8)
   Client hardware address padding: 00000000000000000000
   Server host name not given
   Boot file name not given
   Magic cookie: DHCP
   Option: (53) DHCP Message Type (Discover)
   Option: (57) Maximum DHCP Message Size
   Option: (55) Parameter Request List
   Option: (97) UUID/GUID-based Client Identifier
       Length: 17
       Client Identifier (UUID): 0525c955-1812-11ea-b4d7-a3337fd960ac
   Option: (94) Client Network Device Interface
   Option: (93) Client System Architecture
   Option: (60) Vendor class identifier
   Option: (255) End

Note that the packet has no IP address yet.  But all we are really wanting to 
drive initial initial discovery is MAC and UUID, which are present.  So 
confluent receives that packet and then starts searching the ethernet switches 
for that MAC and comes up with, say 'node3' based on net.*switch and 
net.*switchport matches, and then discovers and then evaluates that DHCP 
transaction in the context of 'node3', and if node3 is already set to pxe boot, 
then it will jump straight to the static address for that node without touching 
any intermediate dynamic IP (there's other options involving external DHCP, but 
putting that aside for now.).  "Discovery" with respect to gathering node 
address is complete (hopefully) before the initial PXE attempt is even complete.

So confluent has external DHCP as optional, because it kind of sort of is a 
DHCP server (but it doesn't know how to send a NAK and it will refuse to 
consider non-PXE for now, in the interest of trying to avoid conflicting with 
'real' DHCP servers on a subnet, and will not answer a node that isn't 
specifically slated to deploy something).  The idea is that OS deployment is 
nice, but an option that users may ignore because they want the BMC management 
commands and discovery, but want to use something else for OS deployment, so we 
aim for max compatibility.

The 'can do it off' relies on the BMC first approach, in which all the 
multicast IPv6/IPv4 trickery potentially involving IPv6 link local addresses to 
overcome messed up IPv4 comes in, and requires a supported BMC with either 
preconfigured user/password or firmware default user/password to be vaguely 
alive on a connected network.

Incidentally, one challenge I have is knowing when people want this detail, 
versus how many people want it to be 'invisible'.  Skimming this email without 
knowing would lead me to think a user has to understand this detail and I might 
be dismissive that it's pretty complicated to use, versus explaining the 
mechanism of the "don't worry about it" tricks that are in use.  Particularly 
in documentation, how to clearly provide it, yet make it clear that 'TLDR' can 
happily ignore it....
________________________________
From: Thomas HUMMEL <thomas.hum...@pasteur.fr>
Sent: Wednesday, October 23, 2024 10:01 AM
To: xcat-user@lists.sourceforge.net <xcat-user@lists.sourceforge.net>
Subject: Re: [xcat-user] [External] Re: xCAT Consortium Update

On 10/23/24 2:55 PM, Jarrod Johnson via xCAT-user wrote:
>> a) So the BMC config is made out of band ? This would imply 2 DHCP
> servers if 1 vlan for data and 1 for BMC ?
>
> One thing to point out, is that we may have arbitrarily many or few networks, 
> similar to xCAT.

Thanks again for your explanations but unfortunately you're too far
ahead for me to fully grasp the principles. I only get part of what you say.

I must miss a lot of concepts you are using.

I come from xCAT where I switch-based discover nodes by pxe-ing them
into genesis which I use to run bmcsetup to configure the BMC which
indeed is on a tagged routed vlan
In this setup I don't see how we can avoid a dynamic range (at least if
we want to be able to simultaneously discover several nodes)

What I think I understand :

1. dhcp is optional in the pxe case as pxe emitted packets are enough to
get the mac address. However pxe seems to be required for later statless
boot ?

2. discovery image (as far as BMC is concerned) is optional if BMC is
configured out of band but only if setup is simple. Ex: if BMC, as in my
case is on a routed tagged vlan you have a bootstrap problem and better
configure it inband from a discovery image or take the risk to override
it's config out of band

What I think you say:

You can get node mac adress by reading it from the BMC (which knows it)

What I don't understand:

how do you make the dynamic range not necessary ?
how do you join mac address with switch/port if nodes are off ?
What configures BMC and how ?

So basically I did not understand the steps such a discovery involve

Note: feel free to ignore this question if answer is inside docs (I just
skim throuh it very quickly)

--
Thomas HUMMEL
HPC Group
Institut PASTEUR
Paris, FRANCE


_______________________________________________
xCAT-user mailing list
xCAT-user@lists.sourceforge.net
https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fxcat-user&data=05%7C02%7Cjjohnson2%40lenovo.com%7Cc21eefc2eb0340d5675a08dcf36b5d17%7C5c7d0b28bdf8410caa934df372b16203%7C0%7C0%7C638652889724966073%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=dlz7bDnzpG0FREeYCtAiwldtP6nIXVD1XEf1qxhR2B0%3D&reserved=0<https://lists.sourceforge.net/lists/listinfo/xcat-user>
_______________________________________________
xCAT-user mailing list
xCAT-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xcat-user

Reply via email to