33
Installing Islandora with Vagrant and Chef

Installing Islandora with Vagrant & Chef

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Installing Islandora with Vagrant & Chef

Installing Islandora!

with Vagrant!and Chef

Page 2: Installing Islandora with Vagrant & Chef
Page 3: Installing Islandora with Vagrant & Chef

NOT SHOWN:!

• XML config files!

• OS-level configuration!

• Undocumented tweaks!

• Warlocks!

• Possibly spiders

Page 4: Installing Islandora with Vagrant & Chef

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

Page 5: Installing Islandora with Vagrant & Chef

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

Page 6: Installing Islandora with Vagrant & Chef
Page 7: Installing Islandora with Vagrant & Chef

ISLANDORA!!

!

!

!

F*!%ING SUCKS!

Page 8: Installing Islandora with Vagrant & Chef

ISLANDORA!!

!

!

!

F*!%ING SUCKS!to install

Page 9: Installing Islandora with Vagrant & Chef

ISLANDORA!is actually pretty okay!

!

!

but the rest of the stack!

F*!%ING SUCKS!to install

Page 10: Installing Islandora with Vagrant & Chef

Why?

• Lots of interdependencies!

• Code is changing rapidly!

• Documentation is hard to update

Page 11: Installing Islandora with Vagrant & Chef

Why?

A. Synchronizationbetween documentation & code!

B. Reproducibility of installation and configuration

Page 12: Installing Islandora with Vagrant & Chef

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.

Page 13: Installing Islandora with Vagrant & Chef

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

Page 14: Installing Islandora with Vagrant & Chef

Desktop Server

Page 15: Installing Islandora with Vagrant & Chef

Desktop

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

reads

Server

Page 16: Installing Islandora with Vagrant & Chef

Desktop

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

reads

applies

!Server!

Tomcat !!!!

…GSearch

Fedora

Page 17: Installing Islandora with Vagrant & Chef

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

Page 18: Installing Islandora with Vagrant & Chef

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)

Page 19: Installing Islandora with Vagrant & Chef

So Far, So Good

A. Synchronization ✓ between documentation & code!

B. Reproducibility of installation and configuration

Page 20: Installing Islandora with Vagrant & Chef

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.

Page 21: Installing Islandora with Vagrant & Chef

Vagrant

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

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

Page 22: Installing Islandora with Vagrant & Chef

Desktop

Page 23: Installing Islandora with Vagrant & Chef

Desktop

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

Page 24: Installing Islandora with Vagrant & Chef

Desktop VirtualBox VM!!!!!

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

Page 25: Installing Islandora with Vagrant & Chef

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

Page 26: Installing Islandora with Vagrant & Chef

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

Page 27: Installing Islandora with Vagrant & Chef

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

Page 28: Installing Islandora with Vagrant & Chef

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

Page 29: Installing Islandora with Vagrant & Chef

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.

Page 30: Installing Islandora with Vagrant & Chef

Success!

A. Synchronization ✓ between documentation & code!

B. Reproducibility ✓ of installation and configuration

Page 31: Installing Islandora with Vagrant & Chef

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

Page 32: Installing Islandora with Vagrant & Chef

Thanks