This is an old revision of the document!
Ansible playbooks
For now that we don't really have a server for this purpose, I'm using my laptop to deploy configurations using Ansible. (Remi)
playbooks:-> <role_name>.yml (Playbooks to run)
|-> inventory.ini (List of all servers to run playbooks on)
|-> isc_compute.ini (Chacha and Disco for example)
|-> labs.ini (Calypso nodes)
|-> test.ini (Custom list)
|-> users.yml (The main source for users IDs and assignation of groups, since we don't have access
| to the HES LDAP to manage groups ourselves there. Contains UID/GID, shell and pass
| only for the default/rescue user)
|
L-> roles:-> calypso-sys: (Configures all calypso worker nodes, with all
| users, software, and system configs)
|-> rumba-sys: (Configures rumba master, with all
| users, software, and system configs)
|-> isc_compute: (Configures Disco and Chacha users, software and system configs)
|-> julia: (Installs Julia for a user, since there are no system-wide install)
|-> k8s: (Configures Kubernetes on all Calypso nodes)
|-> master-sys: (Configures system configs specific on calypsomaster only)
|-> munge: (Needed to authenticate SLURM nodes on Calypso and ISC Compute)
|-> nvidia-cuda: (Needed to allow servers to use Nvidia GPUs)
|-> prometheus: (TODO : Installs prometheus exporters and server, separate in 2 playbooks)
|-> slurm_research: (TODO : redo all installation part from compilation
| install, separate install from config)
|-> slurm_calypso: (TODO : redo all installation part from compilation
install, separate install from config)
Ansible roles
Calypso-sys
Manages all Calypso lab servers configurations.
calypso-sys/-> tasks/-> main.yml (All tasks to configure timezone, system umask, groups and users, default user,
| | base packages, ssh keys deployment, NFS homes configs, symlinks in each home,
| | fastfetch install, systemd tweaks to fasten boot time, set /etc/hosts entries,
| | put sudoers files, install Apptainer, then run isc[1,2,3].yml tasks )
| |-> root.yml (Specific root user configuration)
| |-> iscx.yml (Configures students accounts for isc[1,2,3] class)
|
|-> files/-> authorized_keys/-> user.name (SSH public keys to deploy for each user)
|
|-> admin_user_home_config/ (Containing configs like .zshrc, .config/ and .oh-my-zsh/ )
|
|-> sudoers.d/username (Containing sudoers specific files for a user, without
dot in the name)
