This is useful if you want to automate deployment and running of MDPM on remote environments. In this example, I'll be controlling a remote machine called 'albatross', a Raspberry Pi with username 'pi'. I'll be building a driver and running it doing all the parameterisations through Ansible.
Preparation
Setting up inventory
Create a file called hosts
and put in it the IP address of the remote machine:
...
When you have created a playbook, you have to specify using this hosts file by running ansible-playbook -i hosts playbook.yaml
.
Setting up connection credentials
On the remote system, add your SSH public key to ~/.ssh/authorized_keys
.
Playbook
In your base directory, create the file playbook.yml
:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
--- - name: Mount storage hosts: albatross remote_user: pi become: no gather_facts: no vars_files: - vars.yml roles: - role: mountstorage - name: Build and run MercuryDPM hosts: albatross remote_user: pi become: no # FIXME Do we have to run everything as root? gather_facts: no vars_files: - vars.yml roles: - role: workhorse |
Mounting storage
If you're storing on a local disc, nothing needs to be done here. If you want to store on a Google Drive, an S3 bucket or a remote filer, then you will need to have a role for mountstorage
.
Tasks for the workhorse
role
...