So BOOTIF is expanded by xnba (or elilo with xnba) to be 'the mac address of 
whatever network adapter successfully performed PXE'.  The expansion is done 
client side prior to linux running.

The server side mac table is used to feed into the dhcp definitition, to make 
sure that a fixed-address reservation exists.

There is some extended syntax to support multiple network cards that can be 
tricky, so we used client-side expansion of the mac address where possible.  
Also supporting multiple interfaces is a bit easier.

-----Original Message-----
From: Thomas HUMMEL <thomas.hum...@pasteur.fr> 
Sent: Tuesday, January 22, 2019 6:48 AM
To: xcat-user@lists.sourceforge.net
Subject: [External] [xcat-user] xnba, noderes nics and BOOTIF

Hello,

I'm using a somehow old xCAT version (2.11) to provision stateless OSimages 
using switch based discovery. Everything works fine but I cannot fully 
understand how the whole PXE process works :

my understanding is that, starting from scratch, it goes like this :

Unknown node :

1. C: native PXE client request
2. S : xCAT answers by providing xnba
3. C: xnba make another PXE request
4. S : xCAT answers by providing the 'net' 
(/tftpboot/xcat/xnba/nets/<net>) gpxe script
5  C : xnba executes the 'net' gpxe script which http-downloads genesis image 
which kernel is given the BOOTIF parameter : expanded to what ?

[genesis does its job. BTW : I thought a nodeset was done at the end of chain 
to instruct to next boot on the final osimage (provided 'osimage=' 
ends up chain) but it does not seems to be an exactg equivalent to nodeset 
since the prescripts in that context aren't executed : am I right ?]

1. - 3. : same as above
4. S: xCAT answers by providing the 'node' 
(/tfptboot/xcat/xnba/nodes/<node>) gpxe script
5 C : xnba executes the 'node' gpxe script which http-downloads the final 
osimage which kernel is given the BOOTIF parameter : expanded to what ?

Though my setup works, I'm having a hard time figuring out exactly what are the 
use/relevance and links (if any) between [install|primary|discovery]nics in the 
noderes table and the BOOTIF kernel parameter as well as what exactly gets 
BOOTIF expdanded to.

I'm (successfully) provisionning on nodes like this

- eth0, eth1 : 2 built-in 1G ethernet interfaces
- eth2 : 1 additionnal PCI-E 10G ethernet card
- bios configured to PXE through the latter (eth2)

So it seems to me everything from the first native PXE request to the os image 
download, goes through this 10G/eth2 interface. This is as a matter of fact 
what I want.

But :

- how is it that it works in spite of my noderes table being set up (probably 
from a previous trial) like this :

"compute",,"xnba","xcat",,"xcat",,,"eth1","eth0",,,,,,,,,,,

-> installnic is == eth1

- how does (step 2. above) xnba "know" what interface to use for it's own PXE 
request since no BOOTIF nor kernel has been passed yet ?

Thanks

--
Thomas HUMMEL


_______________________________________________
xCAT-user mailing list
xCAT-user@lists.sourceforge.net
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