Duke-GCB/ansible-hackday

Name: ansible-hackday

Owner: Duke Center for Genomic and Computational Biology

Description: References and materials for GCB Informatics Ansible Hackday 2015-05-07

Created: 2015-05-04 15:05:22.0

Updated: 2015-05-07 13:20:37.0

Pushed: 2015-05-07 22:52:58.0

Homepage: null

Size: 160

Language: null

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

ansible-hackday

References and materials for GCB Informatics Ansible Hackday

GCB Informatics is running a hack day on May 7, 2015. This event will focus on automated provisioning of servers, specifically using Ansible.

Contributing

Please feel free to append to this file before the hackday, especially to include use cases or other references. We do not plan to make playbooks public, but methods/resources and tasks for the the hackday should be tracked in this repo.

Preparation

To have a productive hackday, everyone should familiarize themselves with:

  1. How ansible works
  2. Installing Ansible aka Ansible Core - the command-line application. Ansible's main website makes it hard to discover that there is a FOSS python command-line application called ansible, which is what we're primarily interested in. The docs are great though, and ansible can be installed with your package manager of choice (yum/apt/brew), with python's pip, or from source.
  3. The infrastructure pieces - how ansible runs, and how this compares to other provisioning/config systems:
  4. a “control machine” where ansible itself executes (typically on-demand)
  5. one or more managed nodes that are configured by the control machine.
  6. The functional pieces - how to configure ansible to do your bidding:
  7. Inventories - Lists of hosts (managed nodes) and their groupings (e.g. web servers, database servers)
  8. Playbooks - recipes that the control machine executes on a managed node. Best Practices
  9. Modules - the steps in the recipe, tailored to specific software packages (e.g. the yum module will install packages via yum declaratively.
Examples/resources/further reading
Target(s)

Take a new VM from installed OS and having been registered for IP address in Proteus to being fully configured for provisioning to requester and/or purpose.

Target ideas:
  1. Compiling and deploying cookieDaemon securely (with passwords, ssh keys, etc stored in vault)
  2. Building/updating/deploying docker images on local resources (local registry, no docker hub)
  3. Deploying an rpm to all HARDAC nodes, or only to those in a partition.
  4. Standing up a Globus Online endpoint for a data volume
  5. Deploying a Galaxy server (Hilmar)
  6. Standing up a local NCBI BLAST search machine complete with BLAST databases loaded
  7. A user ran a rogue Docker container on gemscompute01 and the VM is damaged beyond repair. Recreate the VM in a fully (or at least mostly) automated fashion.

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.