Collection of the Finnish Grid and Cloud Infrastructure Ansible playbooks
Used in production in >9 uniform HPC clusters.
- The clusters are made with the same basic building blocks:
- One admin node (hypervisor for one grid (middleware) and one install node (slurm services, git mirror, pxe/dhcp))
- One login node
- One NFS node for two shared filesystems ( /home and /scratch )
- X Compute ( and Y GPU nodes )
- Ethernet and Infiniband networks
- Ansible (ansible-pull is used on the compute nodes, push mode on the rest)
- CentOS 7
- CVMFS for software distribution á la modules
- Nordugrid ARC
- SLURM
- clone this repo
- make an ansible inventory/hosts file (there is an example file in the examples/ dir)
- install required ansible roles from external repositories with:
ansible-galaxy install -r requirements.yml
orsh tools/pullReqs.sh
- Copy dir examples/group_vars to the repository root dir, ( fgci-ansible/group_vars )
- Edit group_vars files with your system configuration parameters
- Make sure that all host_vars or group_vars files end with .yml or .yaml
Basic Usage Example, more details on https://confluence.csc.fi/display/FGCI/FGCI+Cluster+deployment+and+installation+guide (restricted access):
ansible-playbook -i hosts site.yml --tags user ansible-playbook -u ssh-user -i hosts site.yml --tags user --diff
Site local addons can be added via the following playbooks:
- admin_local_play.yml
- compute_local_play.yml
- grid_local_play.yml
- install_local_play.yml
- login_local_play.yml
- nfs_local_play.yml
Please submit these to the individual Github repositories or normal CSC service desk. If they are not in CSC's organization in github submitting to this repo (fgci-ansible) is OK.
There is a list of where the ansible roles come from in the requirements.yml file.
MIT