Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
languagetext
titleplaybook.yaml
linenumberstrue
--- 
- 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

...