Files
gitea-pages/admin-guide/deployment/sample.rst

2.4 KiB

Sample deployment of a new server

In this section we describe the deployment of a new server from scratch. All the operations will be performed using bob, the command-line client for interacting with sysdb.

The informations we need are:

  • the server name: logging-ra.psi.ch
  • the server MAC address: 23:3d:ef:33:11:22
  • static or dynamic IP: static
  • the OS installer: rhel79server
  • the server role: role::logging_server
  • the server environment in puppet: prod
  • the sysdb environment: daas
  • optional the group inside the sysdb environment (default if not specified): logging

On our laptop, where we have a local copy of bob, we first setup some environment variables to have shorter commands: :

export PSI_BOB_URL=https://boot00-test.psi.ch/sysdb
export PSI_BOB_USER=talamo_i

The $PSI_BOB_USER is needed because our local user is different from the one on sysdb. It could also be specified on the command line or let bob take the local username.

We then create a deployment environment:

bob env add daas talamo_i daas-admins 'DaaS Cluster'

We add the node to the environment, specifing netboot as the boot action :

bob node add logging-ra.psi.ch daas netboot

We setup its MAC address: :

bob node add-mac logging-ra.psi.ch 23:3d:ef:33:11:22

Next decide how the IP address is configured (dhcp or static): :

bob node set-attr syslog-ra.psi.ch network=static

And which installer is used: :

bob node set-attr syslog-ra.psi.ch ipxe_installer=rhel79server

And we finally setup the puppet role and puppet environment: :

bob node set-attr syslog-ra.psi.ch puppet_role=role::log_server
bob node set-attr syslog-ra.psi.ch puppet_env=prod
bob node set-attr syslog-ra.psi.ch puppet_group=logging

PXE server-side configuration

In case the node is configured to use legacy BIOS mode (and not UEFI mode) the following has to be run on the PXE server to make the node boot the ipxe image: :

cd /afs/psi.ch/service/linux/tftpboot/pxelinux.cfg/
ln -sf lxprod logging-ra
MAC='the::node::mac::address'
MACFILENAME="01-`echo $MAC|tr 'A-Z' 'a-z'| sed 's/:/-/g'`"
ln -sf logging-ra $MACFILENAME

Otherwise the node will boot with the old pxe configuration. In such case is possible to boot ipxe typing lxprod on the PXE command line.