Kitware / HPCCloud-deploy

VM Deploy for HPC-Cloud
Apache License 2.0
18 stars 4 forks source link

Note: The vagrant deployment will soon be depreciated. We will be moving to a containerized solution.

HPC Cloud / Cumulus VM Deploy

Linux

Example usage

ansible-playbook -vvvv \
--private-key ec2.pem \
-u ubuntu \
-i ansible/inventory/test  \
   ansible/site.yml \
-e girder_version=master \
-e cumulus_version=master

Local Installation

If VirtualBox, Vagrant and Ansible are installed, cumulus may also be deployed on a local virtual machine by running vagrant up from the project root directory. Otherwise each of these components may be installed on 64 bit Ubuntu 14.04 as follows:

Install VirtualBox 5.0

First you must add the Oracle repository to Ubuntu's package manage apt by executing the following commands:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian trusty contrib" >> /etc/apt/sources.list.d/virtualbox.list'

Then update and install virtualbox 5.0

sudo apt-get update && sudo apt-get install virtualbox-5.0
Install Ansible

Add the ansible repository to apt and install ansible

sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update && sudo apt-get install ansible
Install Vagrant 1.8.1

Ubuntu's default version of vagrant (1.4.3) is nearly 2 years old, to use this deployment script you must have a newer version of vagrant installed. To do this download the following .deb file and install it. important: if you already have vagrant installed, please do a sudo apt-get remove --purge vagrant before running the following commands:

wget https://releases.hashicorp.com/vagrant/1.8.1/vagrant_1.8.1_x86_64.deb -O /tmp/vagrant_1.8.1_x86_64.deb

sudo dpkg --install /tmp/vagrant_1.8.1_x86_64.deb && rm /tmp/vagrant_1.8.1_x86_64.deb
Creating a HPCCloud VM

OSX

HPC traditional cluster requirements

In order to use a cluster with HPCCloud the following requirements need to be available:

Local Development Installation

if HPCCloud, girder, or cumulus are available in the folder above the HPCCloud-deploy checkout and the environment variable DEVELOPMENT is set to 1, then these folders will be linked through the VM rather than checked out from github. E.g. with the directory structure:

./HPCCloud-deploy/
                  Vagrantfile
                  ansible/
                  ...
./cumulus/
          ...
./hpccloud/
           ...
./girder/
         ...

running DEVELOPMENT=1 vagrant up from within the HPCCloud-deploy/ folder will link cumulus, hpccloud and girder folders. This should allow those folders to be changed locally, and for those changes to be picked up on restart from within the VM. Note: if a folder is not available it will be checkout from github. the HPCCloud folder must be lowercase!