Installing Islandora with Vagrant & Chef

Post on 29-Jun-2015

235 views 0 download

Tags:

description

Presented at Islandora GTAcamp 2014: http://islandora.ca/camps/gta2014

Transcript of Installing Islandora with Vagrant & Chef

Installing Islandora!

with Vagrant!and Chef

NOT SHOWN:!

• XML config files!

• OS-level configuration!

• Undocumented tweaks!

• Warlocks!

• Possibly spiders

Did you install things in the wrong order?!

Did you forget to configure something?!

Did you install an incorrect version?!

Did you follow the wrong documentation?

Did you miss a step?

Did something not work as described?

Start

Did you install things in the wrong order?!

Did you forget to configure something?!

Did you install an incorrect version?!

Did you follow the wrong documentation?

Did you miss a step?

Did something not work as described?

Start Over

FML

NO

YES

NO

NO

NO

NO

YES

YES

YES

YES

YES

ISLANDORA!!

!

!

!

F*!%ING SUCKS!

ISLANDORA!!

!

!

!

F*!%ING SUCKS!to install

ISLANDORA!is actually pretty okay!

!

!

but the rest of the stack!

F*!%ING SUCKS!to install

Why?

• Lots of interdependencies!

• Code is changing rapidly!

• Documentation is hard to update

Why?

A. Synchronizationbetween documentation & code!

B. Reproducibility of installation and configuration

Chef is a configuration management tool used to streamline the task of maintaining an organization's servers and to automatically provision and configure new machines.

Chef Recipes• A series of modular, ordered

steps required to install or configure something e.g.!

1. install Tomcat!2. install Fedora!3. install GSearch

• Sharable & reproducible

Desktop Server

Desktop

Chef Recipe !1. Install Tomcat 2. Install Fedora 3. Install GSearch

reads

Server

Desktop

Chef Recipe !1. Install Tomcat 2. Install Fedora 3. Install GSearch

reads

applies

!Server!

Tomcat !!!!

…GSearch

Fedora

Desktop

Chef Recipe !1. Install Tomcat 2. Install Fedora 3. Install GSearch

reads

applies

!Server #1!

!Server #2!

applies

Tomcat !!!!

…GSearch

Fedora

Tomcat !!!!

…GSearch

Fedora

Chef recipes become comprehensive, up-to-date, actionable, active documentation of how to install and configure an Islandora instance.!!

Recipes are shared and maintained by the community (eg. Drupal, Tomcat, Fedora, etc)

So Far, So Good

A. Synchronization ✓ between documentation & code!

B. Reproducibility of installation and configuration

Vagrant is a tool for creating and configuring virtual environments.!!

It can be considered a wrapper around virtualization software such as VirtualBox and configuration management software such as Chef.

Vagrant

• Easily reproduce temporary, disposable environments for development and testing.!!

• Guarantee development and production environments are as close to identical as possible.

Desktop

Desktop

readsVagrant Config !1. VirtualBox VM 2. Ubuntu 12.04 3. 4GB RAM

Desktop VirtualBox VM!!!!!

createsreadsVagrant Config !1. VirtualBox VM 2. Ubuntu 12.04 3. 4GB RAM

Desktop

Chef Recipe !1. Install Tomcat 2. Install Fedora 3. Install GSearch

reads

readsVagrant Config !1. VirtualBox VM 2. Ubuntu 12.04 3. 4GB RAM

VirtualBox VM!!!!!

creates

VirtualBox VM!!!!!

Desktop

Tomcat !!!!

…GSearch

Fedora

applies

readsVagrant Config !1. VirtualBox VM 2. Ubuntu 12.04 3. 4GB RAM

creates

Chef Recipe !1. Install Tomcat 2. Install Fedora 3. Install GSearch

reads

VirtualBox VM!!!!!

creates

Desktop

Server

readsVagrant Config !1. VirtualBox VM 2. Ubuntu 12.04 3. 4GB RAM

Chef Recipe !1. Install Tomcat 2. Install Fedora 3. Install GSearch

reads

Tomcat !!!!

…GSearch

Fedora

applies

VirtualBox VM!(Development)!

!!!!

creates

Desktop

Server!(Production)!

Tomcat !!!!

…GSearch

Fedora

applies

readsVagrant Config !1. VirtualBox VM 2. Ubuntu 12.04 3. 4GB RAM

Chef Recipe !1. Install Tomcat 2. Install Fedora 3. Install GSearch

reads

Tomcat !!!!

…GSearch

Fedora

applies

Bugs on production are easier to reproduce in development.!!

New features in development are easier to test with the same configuration as production.!!

Vagrant environments become easily reproducible and replaceable. Even production.

Success!

A. Synchronization ✓ between documentation & code!

B. Reproducibility ✓ of installation and configuration

Want to Know More?• Cooking with Chef: Automated

Deployment of Web Apps in a Library Context (Access 2012)https://www.youtube.com/watch?v=eTNBmy4ZznA!

• Islandora Chef Repositoryhttps://github.com/ryersonlibrary/islandora

Thanks

mjsuhonos@ryerson.ca