mirror of
https://github.com/samsapti/bachelor-project.git
synced 2024-11-25 14:27:54 +00:00
Add Ansible playbook to configure benchmarking servers
This commit is contained in:
parent
b5b8841a71
commit
4e9832408a
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/ansible/inventory
|
4
ansible/ansible.cfg
Normal file
4
ansible/ansible.cfg
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[defaults]
|
||||||
|
remote_user = root
|
||||||
|
inventory = inventory
|
||||||
|
use_persistent_connections = True
|
9
ansible/group_vars/all/secrets.yml
Normal file
9
ansible/group_vars/all/secrets.yml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
61646431343934356439373261623036346335633430666537333165633934383032626664646330
|
||||||
|
3862383035666261643338356366313665613965343536340a396232666265356530623930366230
|
||||||
|
65363061323964386639623538363637396666353963366231643166396163623738633766306435
|
||||||
|
6664383430353334380a383764373662613236353836643463623236353866383334366533373261
|
||||||
|
36363439653064333836656330306235306535366364366636353535646337346636386531323637
|
||||||
|
61633762653032363031363264626136626337323138623132343836663836313566616136633432
|
||||||
|
32366330633964633537363434666565306132393530333264353538326439366532656362626531
|
||||||
|
64366635326664636135
|
5
ansible/group_vars/all/vars.yml
Normal file
5
ansible/group_vars/all/vars.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# vim: ft=yaml.ansible
|
||||||
|
---
|
||||||
|
username: mpc-player
|
||||||
|
mp_spdz_dir: /home/{{ username }}/MP-SPDZ
|
||||||
|
ssh_key: sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFWZGLov8wPBNxuvnaPK+8vv6wK5hHUVEFzXKsN9QeuBAAAADHNzaDpzYW1zYXB0aQ== ssh:samsapti
|
25
ansible/playbook.yml
Normal file
25
ansible/playbook.yml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# vim: ft=yaml.ansible
|
||||||
|
---
|
||||||
|
- name: Set up MPC players
|
||||||
|
hosts: all
|
||||||
|
gather_facts: true
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: Create user {{ username }}
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: "{{ username }}"
|
||||||
|
password: "{{ secrets.user_password | password_hash('sha512') }}"
|
||||||
|
groups:
|
||||||
|
- sudo
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Add public SSH key to user {{ username }}
|
||||||
|
ansible.posix.authorized_key:
|
||||||
|
user: "{{ username }}"
|
||||||
|
key: "{{ ssh_key }}"
|
||||||
|
exclusive: true
|
||||||
|
|
||||||
|
- name: Run role mp_spdz
|
||||||
|
ansible.builtin.import_role:
|
||||||
|
name: mp_spdz
|
||||||
|
become_user: "{{ username }}"
|
49
ansible/roles/mp_spdz/tasks/main.yml
Normal file
49
ansible/roles/mp_spdz/tasks/main.yml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
# vim: ft=yaml.ansible
|
||||||
|
---
|
||||||
|
- name: Install dependencies via apt
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name: "{{ pkgs }}"
|
||||||
|
state: present
|
||||||
|
become_user: root
|
||||||
|
vars:
|
||||||
|
pkgs:
|
||||||
|
- automake
|
||||||
|
- build-essential
|
||||||
|
- clang
|
||||||
|
- cmake
|
||||||
|
- git
|
||||||
|
- libntl-dev
|
||||||
|
- libsodium-dev
|
||||||
|
- libssl-dev
|
||||||
|
- libtool
|
||||||
|
- m4
|
||||||
|
- python3
|
||||||
|
- texinfo
|
||||||
|
- yasm
|
||||||
|
|
||||||
|
- name: Clone MP-SPDZ
|
||||||
|
ansible.builtin.git:
|
||||||
|
repo: https://github.com/data61/MP-SPDZ
|
||||||
|
dest: "{{ mp_spdz_dir }}"
|
||||||
|
version: v0.3.5
|
||||||
|
clone: true
|
||||||
|
update: true
|
||||||
|
recursive: true
|
||||||
|
depth: 1
|
||||||
|
|
||||||
|
- name: Patch CONFIG
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: "{{ mp_spdz_dir }}/CONFIG"
|
||||||
|
regexp: '^ARCH = -march=native$'
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Build MP-SPDZ
|
||||||
|
community.general.make:
|
||||||
|
chdir: "{{ mp_spdz_dir }}"
|
||||||
|
jobs: "{{ ansible_processor_nproc }}"
|
||||||
|
target: "{{ item }}"
|
||||||
|
loop:
|
||||||
|
- boost
|
||||||
|
- libote
|
||||||
|
- mpir
|
||||||
|
- all
|
Loading…
Reference in a new issue