# 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: `rhel8install` - the server role: `role::logging_server` - the server environment in puppet: `prod` - the sysdb deployment environment: `daas` - optional the group inside the sysdb environment (`default` if not specified): `logging` ## Setting up bob The `bob` tool is already set up on `lxsup.psi.ch`. You might connect with `ssh` and use it from there. Altenatively you many have on your workstation a local copy of `bob`. This can be done by installing the RPM from the pli-misc repository - https://repos.psi.ch/rhel8/latest/pli-misc/ You might need to set a `PSI_BOB_USER` environment variable (`export PSI_BOB_USER=`) or use the option `--user` if your local user is different from the one on sysdb. ## Sysdb configuration 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 logging-ra.psi.ch network=static And which installer is used: bob node set-attr logging-ra.psi.ch ipxe_installer=rhel8install And we finally setup the puppet role and puppet environment: bob node set-attr logging-ra.psi.ch puppet_role=role::log_server bob node set-attr logging-ra.psi.ch puppet_env=prod bob node set-attr logging-ra.psi.ch puppet_group=logging ## Example Full example: bob node add lx-test-02.psi.ch lx netboot bob node add-mac lx-test-02 00:50:56:9d:19:76 bob node set-attr lx-test-02.psi.ch ipxe_installer=rhel8install puppet_env=prod puppet_group=default puppet_role=role::server bob node netboot lx-test-02.psi.ch bob node list -v lx-test-02 Ensure that a potential previous puppet certificate for this server is deleted on the puppet server: https://puppet.psi.ch ## Special Settings ### Custom Kernel Commandline Arguments For custom kernel commandline arguments for the installer (e.g. to provide drivers) the sysdb attribute `kernel_cmdline` can be used: ``` bob node set-attr lx-test-02.psi.ch kernel_cmdline=inst.dd=https://linuxsoft.cern.ch/elrepo/dud/el8/x86_64/dd-megaraid_sas-07.725.01.00-1.el8_9.elrepo.iso ``` ### Custom System Disk and Partitioning Please check out the [Partitioning page](partitioning).