it is hard to say what you need to do without knowing specifically what problems you are having. What you want to do probably isn't that different than what we all have to deal with when upgrading our FAI configuration for a new release of our chosen linux flavor. I'm currently switching from Ubuntu zesty to artful and I need to make sure that the zesty install keeps working while I build the artful configuration.

What I do is to create a class for the new configuration and put changes in files named for that class. So for example, if artful requires some changes to the contents of /etc/networking/interfaces, I create a file named ARTFUL within the fai config for a new version of that file. This is generally sufficient for all modifications. In fact, doing anything more drastic, like making a copy of the entire config space, only makes it harder to eventually integrate the changes into the production space.

So my first recommendation would be to try to use FAI's class feature to do your experiments. But if you want to create a whole nother config space, you can tell your FAI clients about it by setting the boot parameter, FAI_CONFIG_SRC in the pxe boot config file. I manually generate my own pxe boot config files instead of using fai-chboot. Just never got the hang of it. So what I'd do if I wanted to experiment with a whole nother config on a machine or two would be this:

1. Make a copy of the FAI config space. Say, from the default /srv/fai/config/ to /opt/fai/config/.
2. Make whatever changes I needed to the files in /opt/fai/config/.
3. Create pxe boot config files for selected machines.
4. In the custom pxe boot file, change FAI_CONFIG_SRC=nfs://faiserver/srv/fai/config to FAI_CONFIG_SRC=nfs://faiserver/opt/fai/config.

It might not be obvious how to do step #3. When you pxe boot a machine, it first asks the server for a machine matching it's own MAC addres.s Then it asks for a file matching it's own IP address in hexadecimal. Then it asks for a file matching the first 7 characters of it's IP address. Then 6, etc. If you know the MAC or IP address of the machines you are experimenting with, you create a file within your pxe boot config space for those addresses. I am unclear on the format for using MAC address but for IPV4 addresses, it's IP address quad format in hexadecimal. So for example, if you want to make a custom pxe boot file for a machine with the IPV4 address of 128.64.32.16, it would be 80402010. You can make a custom pxe boot file for any machine with an IP address in the range, 128.64.32.0/24 by creating a file named 804020.

PS: You probably don't need to create a second nfsroot.


On 01/03/2018 09:53 AM, Itamar Gal wrote:
Dear FAI Users:

I'm running into various issues using FAI on a system (an FAI install
server) which is being managed by a couple of other system
administrators. I want to experiment with the configuration without
disturbing the production configuration.

My thought was to replicate the FAI configuration files inside of my
~/local directory and set the relevant FAI environment variables to
point to sub-directories of ~/local. Is there a way to do this safely?
If so, which variables do I need to set in my ~/local/etc/fai/fai.conf
file in order to be certain that I don't cause issues for anyone else?
There are a few FAI install clients that I have been given for this
purpose, so it's alright for me to overwrite the PXE files for those
specific hosts.

Cheers,
Itamar

Antwort per Email an