From 9384176bf2ca7b2e8c38d33995734e8858c1eb90 Mon Sep 17 00:00:00 2001 From: Sam Al-Sapti Date: Wed, 19 Apr 2023 00:56:27 +0200 Subject: [PATCH] Add Vagrantfile and test in Vagrant --- .gitignore | 1 + ansible/Vagrantfile | 27 +++++++++++++++++++++++++++ ansible/playbook.yml | 3 ++- ansible/roles/mp_spdz/tasks/main.yml | 4 +++- 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 ansible/Vagrantfile diff --git a/.gitignore b/.gitignore index a956fbb..073cd6b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /ansible/inventory +/ansible/.vagrant/ diff --git a/ansible/Vagrantfile b/ansible/Vagrantfile new file mode 100644 index 0000000..08cb37b --- /dev/null +++ b/ansible/Vagrantfile @@ -0,0 +1,27 @@ +Vagrant.require_version ">= 2.0.0" +N = 2 + +Vagrant.configure("2") do |config| + (0..N).each do |player_id| + vm_name = "mpc-player-#{player_id}" + + config.vm.define vm_name do |player| + player.vm.box = "ubuntu/jammy64" + player.vm.hostname = vm_name + + player.vm.network :private_network, ip: "192.168.56.#{20 + player_id}" + player.vm.provider :virtualbox do |vb| + vb.cpus = 4 + vb.memory = 8192 + end + + if player_id == N + player.vm.provision :ansible do |ansible| + ansible.limit = "all" + ansible.playbook = "playbook.yml" + ansible.ask_vault_pass = true + end + end + end + end +end diff --git a/ansible/playbook.yml b/ansible/playbook.yml index 98bbf18..d19f404 100644 --- a/ansible/playbook.yml +++ b/ansible/playbook.yml @@ -9,9 +9,10 @@ ansible.builtin.user: name: "{{ username }}" password: "{{ secrets.user_password | ansible.builtin.password_hash('sha512') }}" - update_password: on_create + shell: /bin/bash groups: - sudo + update_password: on_create state: present - name: Add public SSH key to user {{ username }} diff --git a/ansible/roles/mp_spdz/tasks/main.yml b/ansible/roles/mp_spdz/tasks/main.yml index 9b8961f..4970a01 100644 --- a/ansible/roles/mp_spdz/tasks/main.yml +++ b/ansible/roles/mp_spdz/tasks/main.yml @@ -3,10 +3,12 @@ - name: Install dependencies via apt ansible.builtin.apt: name: "{{ pkgs }}" + update_cache: true state: present become_user: root vars: pkgs: + - acl - automake - build-essential - clang @@ -46,4 +48,4 @@ - boost - libote - mpir - - all + - semi-party.x