From 682947346ee9478190671f88389fefefa010a9f6 Mon Sep 17 00:00:00 2001 From: ebner Date: Tue, 24 Sep 2024 16:54:01 +0200 Subject: [PATCH] remove redundancies in install documentation --- admin-guide/deployment/basic_installation.md | 18 ++++++++--------- .../_static/installation_grub_default.png | Bin 8994 -> 0 bytes .../_static/installation_grub_select.png | Bin 8519 -> 0 bytes admin-guide/deployment/rhel8/installation.md | 19 ++---------------- admin-guide/deployment/rhel9/installation.md | 13 +++--------- 5 files changed, 14 insertions(+), 36 deletions(-) delete mode 100644 admin-guide/deployment/rhel8/_static/installation_grub_default.png delete mode 100644 admin-guide/deployment/rhel8/_static/installation_grub_select.png diff --git a/admin-guide/deployment/basic_installation.md b/admin-guide/deployment/basic_installation.md index db96b2c0..4cb37d09 100644 --- a/admin-guide/deployment/basic_installation.md +++ b/admin-guide/deployment/basic_installation.md @@ -3,7 +3,9 @@ Linux systems are installed using PXE and Kickstart. The Kickstart configuration is auto-generated base on the configuration stored in sysdb/bob. +```{info} When PXE boot is not an option, e.g. in restricted networks, it is possible to start iPXE from a USB stick or other media. +``` The general process for a installation is: @@ -12,11 +14,10 @@ The general process for a installation is: 3. Reboot the system and trigger a PXE boot (usually by pressing F12 during POST) -The default way to interact with sysdb is to use [bob](https://git.psi.ch/linux-infra/bob). `bob` is already set up on `lxsup.psi.ch` for general use. +The default way to interact with sysdb is to use [bob](https://git.psi.ch/linux-infra/bob). `bob` is already set up on `lxsup.psi.ch` for general use. Remember that you need a valid Kerberos ticket before modifying a sysdb entry via `bob`. -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/ or by installing the Python package manually. +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/ or by installing the Python package manually. More details regaring `bob` can be found [here](https://git.psi.ch/linux-infra/bob). -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 @@ -36,21 +37,20 @@ bob node set-attr $FQDN ipxe_installer=rhel8install bob node set-attr $FQDN puppet_role=role::server ``` -and optional: +and **optional**: ```bash # static IP address (options: static, dhcp) bob node set-attr $FQDN network=static + +# if you want to use hiera groups and sub-groups bob node set-attr $FQDN puppet_group=cluster bob node set-attr $FQDN puppet_subgroup=compute + +# use a differnt puppet environment bob node set-attr $FQDN puppet_env=prod ``` -Finally ensure that the node is set to `netboot`: -```bash -bob node netboot $FQDN -``` - ### Example Minimal example: diff --git a/admin-guide/deployment/rhel8/_static/installation_grub_default.png b/admin-guide/deployment/rhel8/_static/installation_grub_default.png deleted file mode 100644 index 8c9c016bd9c1459ff258bd34fa9b0527ffdcc36a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8994 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 V2+9k+0e*A9_MoFph4qO`{{=ttvq1m= diff --git a/admin-guide/deployment/rhel8/_static/installation_grub_select.png b/admin-guide/deployment/rhel8/_static/installation_grub_select.png deleted file mode 100644 index 82e0c30ef05d92ae210ce9bd46c28ba69ea2be35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8519 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