Deployment ========== This section describes how to (re-)deploy Puppet-managed Linux systems. The general process is: 1. Register the system with sysdb (only for new systems). 2. Tell sysdb to perform an installation on the next boot. 3. Reboot the system and trigger a PXE boot (usually by pressing F12 during POST). On some systems it is not possible to use PXE boot. Either because the network card doesn't support it/has a bug/doesn't work with iPXE, or because the system is in a network from which TFTP requests to the boot server are not allowed. In those cases it is possible to either boot iPXE from a USB stick or DVD, or to simply boot the RHEL installer from DVD and point it at the Kickstart file generated by sysdb. Registration with sysdb ~~~~~~~~~~~~~~~~~~~~~~~ The easiest way to interact with sysdb is to use `bob`, a command-line client, set up ready to use on `lxsup00.psi.ch`. Alternatively it is possible to use the web API directly. First, add the new node:: bob node add $FQDN $ENV netboot To be able to PXE boot we need to configure at least one MAC address for the new node:: bob node add-mac $FQDN 00:50:56:aa:fe:9b Finally we need to configure the installer to use, and the Puppet-related parameters:: bob node set-attr $FQDN ipxe_installer=rhel79server bob node set-attr $FQDN network=static bob node set-attr $FQDN puppet_env=prod bob node set-attr $FQDN puppet_role=role::server bob node set-attr $FQDN puppet_group=default Redeployment ~~~~~~~~~~~~ After the initial installation the boot mode has been reset from netboot to local so it will then always boot from the local disk. For a redeployment the netboot needs to be set anew:: bob node netboot $FQDN and after redo the PXE boot.