This project contains Ansible playbooks for setting up ALA components on CentOS 6.x and Ubuntu 12.x machines. This project includes a playbook for setting up the ALA demo .
Below are some instructions for setting up the ALA demo with Ansible & Vagrant on your local machine.
Vagrant can be used to test ansible playbooks on your local machine. To use this, you will need to install
VirtualBox and Vagrant.
vagrant/centos
and vagrant/ubuntu
contain configurations that can used with VirtualBox to bring up a VH for deploying against.
This is included only to simplify local testing, but any server running CentOS 6.x or Ubuntu 12.x could be used.
To create a virtual machine with vagrant:
$ cd vagrant/ubuntu
$ vagrant up
The first execution of this downloads the CentOS image which can take 20 minutes or more. Once ready you can ssh to your VM like so:
$ ssh [email protected]
with password vagrant
.
An Ansible inventory file is included that allows for running against a Vagrant configured VH (see inventories/vagrant
). Other inventories can easily be crafted to match other infrastructure.
To run Ansible against your vagrant instance you need to locate the correct key file (e.g. the default insecure vagrant file if using the Vagrant config for testing):
$ cd ansible
$ ansible-playbook -i inventories/vagrant ala-demo.yml --private-key ~/.vagrant.d/insecure_private_key -u root
There is a template inventory in inventories/ala-hub-nectar
. To use this playbook for your VM, create a copy of inventories/sandbox
and change the references to point to the IP/DNS of your VM. Then point to this inventory with the -i
parameter when running the playbook.
$ ansible-playbook -i inventories/ala-hub-nectar biocache-hub.yml --private-key <PATH_TO_YOUR_PEM_FILE> -u root
inventories/sandbox
contains an inventory for the sandbox. To use this playbook for your VM, create a copy of inventories/sandbox
and change the references to point to the IP/DNS of your VM. Then point to this inventory with the -i
parameter when running the playbook.
$ ansible-playbook -i inventories/sandbox sandbox.yml --private-key <PATH_TO_YOUR_PEM_FILE> -u root
inventories/images
contains an inventory for the image-service. To use this playbook for your VM, create a copy of inventories/images
and change the references to point to the IP/DNS of your VM. Then point to this inventory with the -i
parameter when running the playbook.
$ ansible-playbook -i inventories/images image-service.yml --private-key <PATH_TO_YOUR_PEM_FILE> -u root
$ ansible-playbook -i inventories/production volunteer-portal.yml --u username --ask-pass --ask-sudo-pass -s -e "@/path/to/database-password.json"
Where /path/to/database-password.json looks like:
{
"volunteers_db_password": "secret-password-here"
}
There are some minor differences for running these playbooks against Nectar VMs, CSIRO IM&T VMs and Vagrant VMs. In each case you will need to create an inventory file that points to your VM(s).
For IM&T virtual machines:
$ ansible-playbook -i inventories/demo ala-demo.yml -u <CSIRO_IDENT> --ask-pass --ask-sudo-pass -s
For Nectar VMs:
$ ansible-playbook -i inventories/nectar-sandbox sandbox.yml --private-key <PATH_TO_YOUR_PEM_FILE> -u root
Note Nectar VMs will require an edit of the /etc/hosts file on the VM so that it recognises its own host name.
For Vagrant VMs:
$ ansible-playbook -i inventories/vagrant ala-demo.yml --private-key ~/.vagrant.d/insecure_private_key -u root
For EC2 instances:
$ ansible-playbook -i inventories/solr-amazon solr-standalone.yml --private-key ~/.ssh/dmartin-amazon.pem -u ubuntu -s