warewulf not creating .cfg files for PXE booting #pxe #warewulf


slopez@...
 

Looking for some assistance. Newbie HPC admin Installing OpenHPC v1.3.9 on CentOS 7.7. Following the PDF documentation available. Warewulf and tftp are installed and working, but it seems Warewulf is not creating .cfg files for initial boot. Basically failing out with:

http://10.90.0.40/WW/ipxe/cfg/00%3A25%3A90%3Abc%3Abf%3A40... No such file or directory (http://ipxe.org/2d0c613b)
Full error screen available here: https://pastebin.com/vKrnbDwc

My Warewulf provision.conf: https://pastebin.com/KvC4Nu58
My tftp file: https://pastebin.com/sMQFJiKc

/srv/warewulf/ipxe/cfg exists, but is empty, even set chmod 777, nothing is being written to it when I add the node.

Can anyone tell me where I'm going wrong?

Thanks!


 

The automatic generation comes from the file
/usr/share/perl5/vendor_perl/Warewulf/Event/Pxe.pm ... which is
installed by the warewulf-provision-server package. Make sure that
package is installed. It looks like DHCP was written out, so that
package should be installed.

Also try running: wwsh pxe update && wwsh dhcp update

Deep dive ... Warewulf has a simple Event system. When a `node.add`,
`node.modify`, etc... event is triggered it runs the
Warewulf::Provision::Pxe->update() function from the Pxe.pm event
file. This function writes out the iPXE configuration file for the
given nodeset being worked on. So, if you just add a single node,
then that will be all that is written out. The same is done for DHCP
entries... we aren't specific enough to say: "Ohh, you modified the
network interface" ... just that you modified the node and *could*
have modified the network information... so write it out.

-J

On Fri, Dec 6, 2019 at 2:30 PM <slopez@...> wrote:

Looking for some assistance. Newbie HPC admin Installing OpenHPC v1.3.9 on CentOS 7.7. Following the PDF documentation available. Warewulf and tftp are installed and working, but it seems Warewulf is not creating .cfg files for initial boot. Basically failing out with:

http://10.90.0.40/WW/ipxe/cfg/00%3A25%3A90%3Abc%3Abf%3A40... No such file or directory (http://ipxe.org/2d0c613b)

Full error screen available here: https://pastebin.com/vKrnbDwc

My Warewulf provision.conf: https://pastebin.com/KvC4Nu58
My tftp file: https://pastebin.com/sMQFJiKc

/srv/warewulf/ipxe/cfg exists, but is empty, even set chmod 777, nothing is being written to it when I add the node.

Can anyone tell me where I'm going wrong?

Thanks!


slopez@...
 
Edited

Thanks Jason. Yes, warewulf-provision-server is installed as well as the DHCP packages. I've done those updates, and TEST ALL comes back ok.

I figured the cfg was only written on an add. I've been testing by deleting and re-adding the node. Here's what happens when I try and add the node, it looks successful to me, but I can't find the config file anywhere.

[root cfg]# wwsh -vvv -y node new compute001 --ipaddr=10.90.0.101 --hwaddr="00:25:90:BC:BF:40" -D eth0
Successfully connected to database!
Loading event handler: Warewulf::Event::Bootstrap
Loading event handler: Warewulf::Event::DefaultNode
Loading event handler: Warewulf::Event::DefaultProvisionNode
Loading event handler: Warewulf::Event::Dhcp
Loading event handler: Warewulf::Event::DynamicHosts
Loading event handler: Warewulf::Event::NewObject
Loading event handler: Warewulf::Event::ProvisionFileDelete
Loading event handler: Warewulf::Event::Pxe
Loading event handler: Warewulf::Event::UniqueNode
Running non-interactively from directly passed argument
Building default configuration for new node(s)
Building default configuration for new provision node(s)
Looking for duplicate node(s)
Building default configuration for new object(s)
Writing DHCP configuration
Updated 1 objects



 

Can you run the same command with `wwsh -d` ... Look for
"Warewulf::Provision::Pxe->update() [...]" output.

Taking a shot in the dark here, you don't have a default bootstrap
defined in /etc/warewlf/default/provision.conf ... So, you've created
a node object, but we don't have enough information to actually make a
iPXE file yet.

Also be sure the node IP address is on the same network as the
provisioner. Meaning, if your provisioner device ("network device" in
provision.conf) is on a network of 10.90.0.0/24 ... then the node IP
addresses fall within that same range. Warewulf is designed around the
provisioner handling a single broadcast domain. We won't output a PXE
file for nodes that aren't on the same network as us.

-J

On Sat, Dec 7, 2019 at 2:08 PM <slopez@...> wrote:

[Edited Message Follows]

Thanks Jason. Yes, warewulf-provision-server is installed as well as the DHCP packages. I've done those updates, and TEST ALL comes back ok.

I figured the cfg was only written on an add. I've been testing by deleting and re-adding the node. Here's what happens when I try and add the node, it looks successful to me, but I can't find the config file anywhere.

[root cfg]# wwsh -vvv -y node new compute001 --ipaddr=10.90.0.101 --hwaddr="00:25:90:BC:BF:40" -D eth0
Successfully connected to database!
Loading event handler: Warewulf::Event::Bootstrap
Loading event handler: Warewulf::Event::DefaultNode
Loading event handler: Warewulf::Event::DefaultProvisionNode
Loading event handler: Warewulf::Event::Dhcp
Loading event handler: Warewulf::Event::DynamicHosts
Loading event handler: Warewulf::Event::NewObject
Loading event handler: Warewulf::Event::ProvisionFileDelete
Loading event handler: Warewulf::Event::Pxe
Loading event handler: Warewulf::Event::UniqueNode
Running non-interactively from directly passed argument
Building default configuration for new node(s)
Building default configuration for new provision node(s)
Looking for duplicate node(s)
Building default configuration for new object(s)
Writing DHCP configuration
Updated 1 objects



slopez@...
 

You are correct, there is nothing defined in bootstrap in /etc/warewulf/default/provision.conf

https://pastebin.com/wmQKHs3r

I've been following the OHPC "install recipe(s" from http://www.openhpc.community/downloads/ the CentOS 7.7 warewulf+slurm. Is there something better I should be using? Nothing in this guide mentions filling in boostrap.

The node IP address is correct and in the range. 


 

I'm not sure about the OpenHPC steps, but if there's a `wwsh provision set [...]` step soon after where you set a bootstrap/vnfs then you should have a iPXE file after that's set.

We just need that info when creating the PXE file. The bootstrap is the kernel that's sent over tftp to a node on boot, so it's what the pxe configuration sends out.

-J

On Mon, Dec 9, 2019, 9:53 AM <slopez@...> wrote:
You are correct, there is nothing defined in bootstrap in /etc/warewulf/default/provision.conf

https://pastebin.com/wmQKHs3r

I've been following the OHPC "install recipe(s" from http://www.openhpc.community/downloads/ the CentOS 7.7 warewulf+slurm. Is there something better I should be using? Nothing in this guide mentions filling in boostrap.

The node IP address is correct and in the range. 


slopez@...
 

looking back through my command history, and the guide, I've got the following two commands I think should be settings this, even re-running them though, boostrap is still unset in provisioning.conf
wwbootstrap 3.10.0-1062.4.3.el7.x86_64
wwsh provision set "acres-compute*" --vnfs=centos7.7 --bootstrap="3.10.0-1062.4.3.el7.x86_64" --files=dynamic_hosts,passwd,group,shadow,slurm.conf,munge.ley,network

is it supposed to point to the location of this file? can I set this manually?


 

That's creating a bootstrap, then setting the vnfs/bootstrap/files on any nodes it knows about that match "acres-acres-compute*" name.

It doesn't set a default in the provision.conf file, just sets it on the nodes you tell it to.

-J



On Mon, Dec 9, 2019, 10:50 AM <slopez@...> wrote:
looking back through my command history, and the guide, I've got the following two commands I think should be settings this, even re-running them though, boostrap is still unset in provisioning.conf
wwbootstrap 3.10.0-1062.4.3.el7.x86_64
wwsh provision set "acres-compute*" --vnfs=centos7.7 --bootstrap="3.10.0-1062.4.3.el7.x86_64" --files=dynamic_hosts,passwd,group,shadow,slurm.conf,munge.ley,network

is it supposed to point to the location of this file? can I set this manually?


slopez@...
 

so the bootstrap= option in /etc/warewulf/defaults/provision.conf needs to be set manually as part of the installation process? how do I figure out where to point it to?


 

If you have only one bootstrap/vnfs it's easy. For OpenHPC I think a bootstrap is created that's the same as `uname -r` output on the provisioner.

When you have dozens of images/bootstraps you would generally want to set it to what your most commonly used is... whatever that happens to be in your setup.

All those files are for is to set default values for Warewulf to use. They aren't needed, but it's just a way to ease some administrative steps when creating new nodes, etc...

-J


On Mon, Dec 9, 2019, 12:31 PM <slopez@...> wrote:
so the bootstrap= option in /etc/warewulf/defaults/provision.conf needs to be set manually as part of the installation process? how do I figure out where to point it to?


dz19871229@...
 

wwsh pxe update && wwsh dhcp update这是最后的重点