Skip to content

fgci-org/fgci-ansible

Repository files navigation

fgci-ansible

Collection of the Finnish Grid and Cloud Infrastructure Ansible playbooks

Used in production in >9 uniform HPC clusters.

Build Status

Build Status

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
  • Make sure that all host_vars or group_vars files end with .yml or .yaml

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

Site local addons

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

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