Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions compute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@
- mpi
- slurm
- monitoring
- ceph
- distrac
- distrac_group
14 changes: 14 additions & 0 deletions group_vars/compute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,20 @@ mpi_packages:
- openmpi
aws: []

ceph_packages:
- ceph
- ceph-base
- ceph-common
- ceph-osd
- ceph-mon
- ceph-mgr
- ceph-mds
- ceph-radosgw
- ceph-volume
- lvm2

ceph_version: quincy

monitoring_role: client

ldap_hostname: "{{ ansible_local.citc.ldap_hostname }}"
1 change: 1 addition & 0 deletions management.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
- security_updates
- ntp
- sssd
- distrac_group
- users
tasks:
- name: copy SSH public keys to slurm account
Expand Down
37 changes: 37 additions & 0 deletions roles/ceph/tasks/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---

- name: Add Ceph {{ ansible_architecture }} repository
yum_repository:
name: ceph
description: Ceph packages for {{ ansible_architecture }}
baseurl: https://download.ceph.com/rpm-{{ ceph_version }}/el$releasever/{{ ansible_architecture }}
enabled: 1
priority: 2
gpgcheck: 1
gpgkey: https://download.ceph.com/keys/release.asc

- name: Add Ceph noarch repository
yum_repository:
name: ceph-noarch
description: Ceph noarch packages
baseurl: https://download.ceph.com/rpm-{{ ceph_version }}/el$releasever/noarch
enabled: 1
priority: 2
gpgcheck: 1
gpgkey: https://download.ceph.com/keys/release.asc

- name: Add Ceph source repository
yum_repository:
name: ceph-source
description: Ceph noarch packages
baseurl: https://download.ceph.com/rpm-{{ ceph_version }}/el$releasever/SRPMS
enabled: 1
priority: 2
gpgcheck: 1
gpgkey: https://download.ceph.com/keys/release.asc

- name: install ceph
package:
name: '{{ item }}'
state: present
loop: "{{ ceph_packages }}"
2 changes: 2 additions & 0 deletions roles/distrac/defaults/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
distrac_src_dir: "/usr/local/src/distrac"
39 changes: 39 additions & 0 deletions roles/distrac/tasks/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---

- name: ensure git is installed
package:
name: git

- name: checkout DisTRaC
git:
repo: https://github.com/rosalindfranklininstitute/distrac.git
force: yes
dest: "{{ distrac_src_dir }}"
version: master

- name: copy in sudoers files
copy:
remote_src: true
src: "{{ distrac_src_dir }}/sudoers_file/distrac"
dest: /etc/sudoers.d/distrac
mode: u=r,g=r
validate: /usr/sbin/visudo -csf %s

- name: get distrac files
find:
paths: "{{ distrac_src_dir }}/distrac"
patterns: '*.sh'
register: distrac_src

- name: copy distrac to bin
copy:
remote_src: true
src: "{{ item.path }}"
dest: /usr/bin
mode: u=rwx,g=rx,o=rx
loop: "{{ distrac_src.files }}"

- name: install bc
package:
name: "bc"
state: present
12 changes: 12 additions & 0 deletions roles/distrac_group/files/add_user_to_distrac_group.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#! /bin/bash
set -euo pipefail
IFS=$'\n\t'

if [[ $# -ne 1 ]]; then
echo "Call with:"
echo " ${0} <user name>"
exit 1
fi

USER=${1}
usermod -a -G distrac ${USER}
14 changes: 14 additions & 0 deletions roles/distrac_group/tasks/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---

- name: Ensure group distrac group exists
group:
name: distrac
gid: 2000
state: present

- name: create add user to distrac group script
copy:
src: add_user_to_distrac_group.sh
dest: /usr/local/libexec/add_user_to_distrac_group
mode: go=r,u=rwx
register: add_user_to_distrac_group
2 changes: 2 additions & 0 deletions roles/users/templates/add_user_ldap.j2
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,5 @@ EOF
curl --silent ${SSHKEYS} | /usr/local/libexec/set_ssh_key ${USER}

echo "${PASSWORD}" | /usr/local/libexec/set_password_file ${USER}

/usr/local/libexec/add_user_to_distrac_group ${USER}