Giter Site home page Giter Site logo

btp's Introduction

Bioinformatics Training Platform

In the first instance the Bioinformatics Training Platform (BTP) is designed to run on Australia's NeCTAR Research Cloud.

The BTP is intended to be a platform that trainers, with Australian Access Federation (AAF) credentials can launch and configure VMs, on the NeCTAR Research Cloud, for a particular bioinformatics workshop.

The original OS used as the basis for the BTP was a large, monolithic, customised build of Cloud BioLinux (CBL). The script used to build this OS is available in build_OS.sh. The OS contained many different bioinformatic tools that were never used by the workshops being run and thus occupied much space and took time to build. As a result we are looking at using puppet manifests to "describe" the configuration of an OS for use in a workshop. These files are plain text, thus easily version controlled, and can be shipped alongside workshop content. Therefore, any particular workshop can describe the OS configuration as well as the data and content it uses.

At the heart of the BTP is a puppetmaster server hosting puppet manifests, files which describe how a system should be configured. When we bring our training VMs online we ask them to contact the puppetmaster which in turn tells the VMs how to configure themselves.

With the BTP, we can perform these actions using automated scripts, from our local computer, using via OpenStack and EC2 APIs.

Puppetmaster Configuration

We start with an Ubuntu 12.04 LTS and install and configure the puppetmaster. On the NeCTAR Research Cloud, this script can be entered into the User Data.

#!/bin/bash
apt-get update
apt-get --assume-yes upgrade
wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
dpkg -i puppetlabs-release-precise.deb
apt-get --assume-yes install puppetmaster git

# Ask puppetmaster to autosign client certificates
sh -c 'echo "*" >> /etc/puppet/autosign.conf'

# Install the BTP puppet modules
cd /etc/puppet/modules
git clone https://github.com/nathanhaigh/puppet_bioinf_tools.git  

Puppet Agent Configuration

A puppet agent is a VM which is configured to contact a puppetmaster for instructions on how to configure itself. This configuration could be done by passing a bash script in the user data or by launching a VM that has already been configured.

#!/bin/bash
PUPPETMASTER_IP="xxx.xxx.xx.xx"

apt-get update
apt-get --assume-yes upgrade
wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
dpkg -i puppetlabs-release-precise.deb
apt-get --assume-yes install puppet

sh -c 'echo "$PUPPETMASTER_IP puppet" >> /etc/hosts'

puppet agent ...

btp's People

Contributors

nathanhaigh avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.