This small repository contains a setup that creates a small set of virtual machines all running R code. To use it, you'll need Vagrant, and possibly Ansible.
Install "precise64" box:
$ vagrant box add precise64 http://files.vagrantup.com/precise64.boxMake sure to install ansible as well:
$ git clone https://github.com/ansible/ansible.gitBasic use:
$ git clone git@github.com:oicr-ibc/DS.git
$ cd DSCreate a file vagrant_local.yml containing something like this:
---
provider:
virtualbox:
storage_root: '/var/local/...'Then start your virtual machines:
$ vagrant upBy default this ccreates three machines, worker-1, worker-2, and worker-3, and
you can ssh to them as follows:
$ vagrant ssh worker-1You can run a command on one machine:
$ vagrant ssh worker-1 -c "R --vanilla"You can close down (halt) all the machines at once:
$ vagrant haltMany of these commands also take a machine name, so vagrant halt worker-2 works on that
specific machine. Use vagrant help for more.
You can delete all the machines at once:
$ vagrant destroyAll the machines are listed in .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory,
with port numbers for ssh, so you can manually use ssh/scp/... using a bit of underhand
workings (see below). The port number is automatically set as forwarded from localhost by Vagrant,
so each port will ssh to a different machine.
scp -P 2222 -i ~/.vagrant.d/insecure_private_key myfile.tar vagrant@localhost:/my/target