/fgci-ansible

:microscope: Collection of the Finnish Grid and Cloud Infrastructure Ansible playbooks

Primary LanguageShellMIT LicenseMIT

fgci-ansible

Collection of the Finnish Grid and Cloud Infrastructure Ansible playbooks

Used in production in >9 uniform HPC clusters.

Build Status Stories in Ready

Build Status Backlog

Physical Hardware:

  • 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

Software Stack:

  • 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

Minimally Descriptive Configuration:

  • 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
    or
    sh 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

Running:

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

Backlog

For our backlog checkout the waffle iron: https://waffle.io/CSCfi/fgci-ansible

Contributions, Workflow and role preferences

CONTRIBUTION.MD

Bug Reports and Pull or Feature Requests

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.

License

MIT