🔬 Collection of the Finnish Grid and Cloud Infrastructure Ansible playbooks
Clone or download
Latest commit cef1623 Dec 10, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Add slurm_partitionlist to all.example Sep 7, 2018
files Create empty files/ directory - where to put munge.key Nov 18, 2015
meta We now require ansible >=2.2 Nov 23, 2016
roles Update fgci-ansible-release Dec 10, 2018
tests Remove systemd_rpcbind role from tests. Nov 26, 2018
tools remove some tabs and white spaces (#210) Jan 31, 2018
.gitignore Also fix pdsh-genders role name in admin/install.yml, remove from .gi… Aug 23, 2016
.travis.yml Allow failure of the latest-epel-centos7 tests Sep 14, 2017
CONTRIBUTION.MD Document workflow of updating roles May 15, 2018
LICENSE change to MIT license Sep 15, 2016
README.md Added local addon playbooks to the README Nov 6, 2017
admin.yml Remove systemd_rpcbind role from the playbooks. Nov 26, 2018
admin_local_play.yml Ansible 2.4 adaptation, adding of local playbooks Nov 3, 2017
ansible.cfg Remove scp_if_ssh from ansible config Aug 21, 2018
compute.yml Remove systemd_rpcbind role from the playbooks. Nov 26, 2018
compute_local_play.yml Ansible 2.4 adaptation, adding of local playbooks Nov 3, 2017
grid.yml Remove systemd_rpcbind role from the playbooks. Nov 26, 2018
grid_local_play.yml Ansible 2.4 adaptation, adding of local playbooks Nov 3, 2017
install.yml Remove systemd_rpcbind role from the playbooks. Nov 26, 2018
install_local_play.yml Ansible 2.4 adaptation, adding of local playbooks Nov 3, 2017
local.yml Remove systemd_rpcbind role from the playbooks. Nov 26, 2018
login.yml Remove systemd_rpcbind role from the playbooks. Nov 26, 2018
login_local_play.yml Ansible 2.4 adaptation, adding of local playbooks Nov 3, 2017
nfs.yml Remove systemd_rpcbind role from the playbooks. Nov 26, 2018
nfs_local_play.yml Ansible 2.4 adaptation, adding of local playbooks Nov 3, 2017
provisioning.yml more login.yml setup Sep 17, 2015
requirements.yml update autofs role Dec 10, 2018
site.yml local.yml imports playbooks, not tasks Nov 3, 2017

README.md

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

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