SlideShare a Scribd company logo
1 of 19
You Don't Have to Be a Mechanic to
 Drive a Car: Automating Evergreen
         Cluster Installation
 2012 Evergreen International Conference
        Chris Sharp, Georgia Public Library Service
    Andy Witter & Josh Lamos, Emerald Data Networks
2010: The PINES Bucket Project
Goals were to identify:
•code changes
•configurations
•any other differences between a "vanilla"
 Evergreen installation and what is running in
 PINES
Assumptions: You
• you have a working familiarity/facility with
  Linux filesystem structure/navigation
• you've installed Evergreen by hand before
• you have the skills/knowledge to optimize
  Evergreen for your setup
• you're interested in automating repetitive
  tasks
Assumptions: 17 Machines
•   lvs01                     •   memcache01
•   lvs02                     •   memcache02
•   brick01-head              •   reporter01
•   brick02-head              •   sip01
•   db01 (master database)    •   sip02
•   db02 (master hot spare)   •   utility01
•   db03 (reports queries)    •   admin01
•   logger01                  •   monitor01
•   backup01
Other GenaSYS Assumptions
• 3 public IP addresses
• a serial cable (to connect lvs machines)
• possible to virtualize any machine (though DB
  is recommended on bare metal)
GenaSYS Benefits
• Packaged files that can be used again to
  rebuild a machine on new hardware
• Init scripts that ease/automate startup and
  shutdown
• Convenience features
  •   “attach” and “detach” bash aliases to remove a
      brick from rotation)
  •   “extras” scripts (e.g., brick_ctl.sh) are added to
      the opensrf user’s search path
GenaSYS Defaults
• Templates for OpenSRF/Evergreen
    configuration files – based on original
    versions but configured for clustered instance
•   Templates for Apache configuration files
    optimized for clustered instance
•   OS-level configurations for networking, NFS,
    logging, database, etc.
Code Availability
GenaSYS:
git://git.evergreen-
  ils.org/contrib/pines/genasys.git
Debian Packaging:
git://git.evergreen-ils.org/contrib/pines/eg-
  debian.git

License: GNU GPL version 3
Copyright (C) Georgia Public Library Service
The Genesis of GenaSYS
Evergreen ILS Installation Process:
The Genesis of GenaSYS
Evergreen ILS Installation:
• requires manual changes of multiple
  configuration files
• many repetitive steps
• high risk of typos/human error
• lots of time required (30 – 45 minutes for
  experienced admins; 3 or more hours for new
  admins)
• and that's just a single machine - what about
  building clusters?
The Genesis of GenaSYS
Evergreen Server Clustering:
• Linux Virtual Server (LVS)
• brick heads/drones (OpenSRF, NFS, SSH keys)
• utility server (OpenSRF, NFS, cron jobs)
• SIP servers (OpenSRF, SIPServer.pm, cron jobs)
• logger servers (client setup, server setup)
• database servers (local configurations)
• reports server (NFS, OpenSRF)
Enter GenaSYS
• development began in early 2011
• goal was to implement a vanilla Evergreen-ILS
  installation with a single script
• and without manually touching configuration
  files
• script needed to be easily modifiable to
  accommodate changes/updates/upgrades
• builds an Evergreen 2.1.1 cluster on Debian
  6.0 “squeeze”
GenaSYS: Two Parts
1. Debian packaging of OpenSRF, Evergreen, and
   unpackaged dependencies (libdbi,
   spidermonkey, etc.)
2. Cluster configuration generation: GenaSYS
Debian Packaging
• Goal was to create easily installable software
    packages to replicate the manual building
    process.
•   Debs are built from Evergreen source + any
    customizations/changes for your setup
•   Not currently working on any sort of official
    Debian acceptance of packages
GenaSYS Cluster Configuration
•   Bash script: easily readable, easily modifiable
•   utilizes templates of configuration files with
    markers for changed items
•   gathers information from the user via command
    line prompts to automatically populate the
    OpenSRF and Evergreen configuration files
•   creates gzipped tar archives of all files required
    to build each server in the cluster, including
    custom Debian packages
•   Archives are re-usable for recreating the same
    machine on new hardware
GenaSYS in Action
GenaSYS: Recap
GenaSYS Installation:
• Doesn’t require manual changes of configuration
  files
• Automates repetitive steps
• Significantly decreases risk of typos/human error
• Reduces number of steps required to create a
  cluster
• Creates packages that can be saved and used
  again to rebuild each server
Questions?
GenaSYS Future Directions
• Project will remain active, primarily for GPLS
    needs
•   Feature requests/bug reports will be
    accepted (method for this TBD)
•   Plan for Ubuntu LTS support

More Related Content

What's hot

Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1Matt Baldwin
 
Docker, Mesos, Spark
Docker, Mesos, Spark Docker, Mesos, Spark
Docker, Mesos, Spark Qiang Wang
 
Chef for OpenStack December 2012
Chef for OpenStack December 2012Chef for OpenStack December 2012
Chef for OpenStack December 2012Matt Ray
 
Terraform 0.13: Rise of the modules
Terraform 0.13: Rise of the modulesTerraform 0.13: Rise of the modules
Terraform 0.13: Rise of the modulesMarko Bevc
 
Network Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with AnsibleNetwork Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with AnsibleAPNIC
 
Docking postgres
Docking postgresDocking postgres
Docking postgresrycamor
 
Improving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetImproving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetNicolas Brousse
 
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpDocker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpJérôme Petazzoni
 
ViFX Tech Connect: Containers & VMs
ViFX Tech Connect: Containers & VMsViFX Tech Connect: Containers & VMs
ViFX Tech Connect: Containers & VMsViFX
 
SQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarSQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarTravis Wright
 
Building a smarter application stack - service discovery and wiring for Docker
Building a smarter application stack - service discovery and wiring for DockerBuilding a smarter application stack - service discovery and wiring for Docker
Building a smarter application stack - service discovery and wiring for DockerTomas Doran
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon ITyannick grenzinger
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to DockerJian Wu
 
Fission: Serverless Functions for Kubernetes
Fission: Serverless Functions for KubernetesFission: Serverless Functions for Kubernetes
Fission: Serverless Functions for KubernetesSoam Vasani
 
Nagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance TuningNagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance TuningNagios
 
Automating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngageAutomating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngageVishal Uderani
 
Webinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case StudyWebinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case StudyCeph Community
 

What's hot (20)

Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1Application Deployment and Management at Scale at 1&1
Application Deployment and Management at Scale at 1&1
 
Docker, Mesos, Spark
Docker, Mesos, Spark Docker, Mesos, Spark
Docker, Mesos, Spark
 
Chef for OpenStack December 2012
Chef for OpenStack December 2012Chef for OpenStack December 2012
Chef for OpenStack December 2012
 
Terraform 0.13: Rise of the modules
Terraform 0.13: Rise of the modulesTerraform 0.13: Rise of the modules
Terraform 0.13: Rise of the modules
 
Ansible - A 'crowd' introduction
Ansible - A 'crowd' introductionAnsible - A 'crowd' introduction
Ansible - A 'crowd' introduction
 
Network Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with AnsibleNetwork Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with Ansible
 
Docking postgres
Docking postgresDocking postgres
Docking postgres
 
Improving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetImproving Operations Efficiency with Puppet
Improving Operations Efficiency with Puppet
 
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpDocker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
 
ViFX Tech Connect: Containers & VMs
ViFX Tech Connect: Containers & VMsViFX Tech Connect: Containers & VMs
ViFX Tech Connect: Containers & VMs
 
SQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarSQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall Webinar
 
Building a smarter application stack - service discovery and wiring for Docker
Building a smarter application stack - service discovery and wiring for DockerBuilding a smarter application stack - service discovery and wiring for Docker
Building a smarter application stack - service discovery and wiring for Docker
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
 
Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to Docker
 
Fission: Serverless Functions for Kubernetes
Fission: Serverless Functions for KubernetesFission: Serverless Functions for Kubernetes
Fission: Serverless Functions for Kubernetes
 
Nagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance TuningNagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
 
Docker
DockerDocker
Docker
 
Automating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngageAutomating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngage
 
Webinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case StudyWebinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case Study
 
Flocker
FlockerFlocker
Flocker
 

Viewers also liked

Go-Lab: What is Happening in my ILS
Go-Lab: What is Happening in my ILSGo-Lab: What is Happening in my ILS
Go-Lab: What is Happening in my ILSGo-Lab Initiative
 
The  Selection Between An Open Source And Vended Software in Libraries: Oppor...
The  Selection Between An Open Source And Vended Software in Libraries:Oppor...The  Selection Between An Open Source And Vended Software in Libraries:Oppor...
The  Selection Between An Open Source And Vended Software in Libraries: Oppor...Hong (Jenny) Jing
 
Boomerang Growth Presentation 2010 Pdf[1]
Boomerang Growth Presentation 2010 Pdf[1]Boomerang Growth Presentation 2010 Pdf[1]
Boomerang Growth Presentation 2010 Pdf[1]sarahjfoster
 
Keyser rfi da
Keyser rfi daKeyser rfi da
Keyser rfi daFOTIM
 
1st Special Adapted Home
1st Special Adapted Home1st Special Adapted Home
1st Special Adapted HomeJSL123
 
Listing Pres 2 08
Listing Pres 2 08Listing Pres 2 08
Listing Pres 2 08dlefnies
 
Escuela 25 del 6
Escuela 25 del 6Escuela 25 del 6
Escuela 25 del 6Alejandra
 
Amicalnet 2016 open source generalities
Amicalnet 2016   open source generalitiesAmicalnet 2016   open source generalities
Amicalnet 2016 open source generalitiesBibLibre
 
10 less-known Laravel Packages: May 2016
10 less-known Laravel Packages: May 201610 less-known Laravel Packages: May 2016
10 less-known Laravel Packages: May 2016Povilas Korop
 
Linux and Open Source Software for Public Libraries
Linux and Open Source Software for Public LibrariesLinux and Open Source Software for Public Libraries
Linux and Open Source Software for Public Librariespines
 
10 less-known Laravel Packages: April 2016
10 less-known Laravel Packages: April 201610 less-known Laravel Packages: April 2016
10 less-known Laravel Packages: April 2016Povilas Korop
 
Evergreen LMS Overview
Evergreen LMS OverviewEvergreen LMS Overview
Evergreen LMS OverviewJonathan Field
 
over the Horizon to where things are Evergreen: an ILS case study
over the Horizon to where things are Evergreen: an ILS case studyover the Horizon to where things are Evergreen: an ILS case study
over the Horizon to where things are Evergreen: an ILS case studyTara Robertson
 
Evergreen: an enterprise-strength OSS solution for library ossification, Part 1.
Evergreen: an enterprise-strength OSS solution for library ossification, Part 1.Evergreen: an enterprise-strength OSS solution for library ossification, Part 1.
Evergreen: an enterprise-strength OSS solution for library ossification, Part 1.John Fink
 
Evergreen: An Open Source ILS
Evergreen: An Open Source ILSEvergreen: An Open Source ILS
Evergreen: An Open Source ILSJohn Fink
 
Open Source (ILS) and RFID Update
Open Source (ILS) and RFID UpdateOpen Source (ILS) and RFID Update
Open Source (ILS) and RFID Updateloriayre
 
Xanko libguides @ wits
Xanko libguides @ witsXanko libguides @ wits
Xanko libguides @ witsFOTIM
 
Sithole & mofokeng support staff in the library getting involved
Sithole & mofokeng support staff in the library   getting involvedSithole & mofokeng support staff in the library   getting involved
Sithole & mofokeng support staff in the library getting involvedFOTIM
 

Viewers also liked (20)

Pop Video Ideas
Pop Video IdeasPop Video Ideas
Pop Video Ideas
 
Go-Lab: What is Happening in my ILS
Go-Lab: What is Happening in my ILSGo-Lab: What is Happening in my ILS
Go-Lab: What is Happening in my ILS
 
The  Selection Between An Open Source And Vended Software in Libraries: Oppor...
The  Selection Between An Open Source And Vended Software in Libraries:Oppor...The  Selection Between An Open Source And Vended Software in Libraries:Oppor...
The  Selection Between An Open Source And Vended Software in Libraries: Oppor...
 
My prezi
My preziMy prezi
My prezi
 
Boomerang Growth Presentation 2010 Pdf[1]
Boomerang Growth Presentation 2010 Pdf[1]Boomerang Growth Presentation 2010 Pdf[1]
Boomerang Growth Presentation 2010 Pdf[1]
 
Keyser rfi da
Keyser rfi daKeyser rfi da
Keyser rfi da
 
1st Special Adapted Home
1st Special Adapted Home1st Special Adapted Home
1st Special Adapted Home
 
Listing Pres 2 08
Listing Pres 2 08Listing Pres 2 08
Listing Pres 2 08
 
Escuela 25 del 6
Escuela 25 del 6Escuela 25 del 6
Escuela 25 del 6
 
Amicalnet 2016 open source generalities
Amicalnet 2016   open source generalitiesAmicalnet 2016   open source generalities
Amicalnet 2016 open source generalities
 
10 less-known Laravel Packages: May 2016
10 less-known Laravel Packages: May 201610 less-known Laravel Packages: May 2016
10 less-known Laravel Packages: May 2016
 
Linux and Open Source Software for Public Libraries
Linux and Open Source Software for Public LibrariesLinux and Open Source Software for Public Libraries
Linux and Open Source Software for Public Libraries
 
10 less-known Laravel Packages: April 2016
10 less-known Laravel Packages: April 201610 less-known Laravel Packages: April 2016
10 less-known Laravel Packages: April 2016
 
Evergreen LMS Overview
Evergreen LMS OverviewEvergreen LMS Overview
Evergreen LMS Overview
 
over the Horizon to where things are Evergreen: an ILS case study
over the Horizon to where things are Evergreen: an ILS case studyover the Horizon to where things are Evergreen: an ILS case study
over the Horizon to where things are Evergreen: an ILS case study
 
Evergreen: an enterprise-strength OSS solution for library ossification, Part 1.
Evergreen: an enterprise-strength OSS solution for library ossification, Part 1.Evergreen: an enterprise-strength OSS solution for library ossification, Part 1.
Evergreen: an enterprise-strength OSS solution for library ossification, Part 1.
 
Evergreen: An Open Source ILS
Evergreen: An Open Source ILSEvergreen: An Open Source ILS
Evergreen: An Open Source ILS
 
Open Source (ILS) and RFID Update
Open Source (ILS) and RFID UpdateOpen Source (ILS) and RFID Update
Open Source (ILS) and RFID Update
 
Xanko libguides @ wits
Xanko libguides @ witsXanko libguides @ wits
Xanko libguides @ wits
 
Sithole & mofokeng support staff in the library getting involved
Sithole & mofokeng support staff in the library   getting involvedSithole & mofokeng support staff in the library   getting involved
Sithole & mofokeng support staff in the library getting involved
 

Similar to Automate Evergreen Cluster Installation with a Single Script

Stateless Hypervisors at Scale
Stateless Hypervisors at ScaleStateless Hypervisors at Scale
Stateless Hypervisors at ScaleAntony Messerl
 
Distro-independent Hadoop cluster management
Distro-independent Hadoop cluster managementDistro-independent Hadoop cluster management
Distro-independent Hadoop cluster managementDataWorks Summit
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansPeter Clapham
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container EcosystemVinay Rao
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux KernelDocker, Inc.
 
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - VerkadeDSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - VerkadeDeltares
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介lclsg123
 
How to Build a Compute Cluster
How to Build a Compute ClusterHow to Build a Compute Cluster
How to Build a Compute ClusterRamsay Key
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...Gaetano Giunta
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Codemotion
 
Spark volume requirements 2018
Spark volume requirements 2018Spark volume requirements 2018
Spark volume requirements 2018Rachit Arora
 
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container SchedulersContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container SchedulersDavid vonThenen
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAlberto Molina Coballes
 
Storing and distributing data
Storing and distributing dataStoring and distributing data
Storing and distributing dataPhil Cryer
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
 
Storage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on KubernetesStorage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on KubernetesDataWorks Summit
 

Similar to Automate Evergreen Cluster Installation with a Single Script (20)

Stateless Hypervisors at Scale
Stateless Hypervisors at ScaleStateless Hypervisors at Scale
Stateless Hypervisors at Scale
 
Kfs presentation
Kfs presentationKfs presentation
Kfs presentation
 
Distro-independent Hadoop cluster management
Distro-independent Hadoop cluster managementDistro-independent Hadoop cluster management
Distro-independent Hadoop cluster management
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - VerkadeDSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介
 
How to Build a Compute Cluster
How to Build a Compute ClusterHow to Build a Compute Cluster
How to Build a Compute Cluster
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
 
TechBeats #2
TechBeats #2TechBeats #2
TechBeats #2
 
Linux basics (part 2)
Linux basics (part 2)Linux basics (part 2)
Linux basics (part 2)
 
Spark volume requirements 2018
Spark volume requirements 2018Spark volume requirements 2018
Spark volume requirements 2018
 
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container SchedulersContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. Ansible
 
Storing and distributing data
Storing and distributing dataStoring and distributing data
Storing and distributing data
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Storage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on KubernetesStorage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on Kubernetes
 

Recently uploaded

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 

Recently uploaded (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 

Automate Evergreen Cluster Installation with a Single Script

  • 1. You Don't Have to Be a Mechanic to Drive a Car: Automating Evergreen Cluster Installation 2012 Evergreen International Conference Chris Sharp, Georgia Public Library Service Andy Witter & Josh Lamos, Emerald Data Networks
  • 2. 2010: The PINES Bucket Project Goals were to identify: •code changes •configurations •any other differences between a "vanilla" Evergreen installation and what is running in PINES
  • 3. Assumptions: You • you have a working familiarity/facility with Linux filesystem structure/navigation • you've installed Evergreen by hand before • you have the skills/knowledge to optimize Evergreen for your setup • you're interested in automating repetitive tasks
  • 4. Assumptions: 17 Machines • lvs01 • memcache01 • lvs02 • memcache02 • brick01-head • reporter01 • brick02-head • sip01 • db01 (master database) • sip02 • db02 (master hot spare) • utility01 • db03 (reports queries) • admin01 • logger01 • monitor01 • backup01
  • 5. Other GenaSYS Assumptions • 3 public IP addresses • a serial cable (to connect lvs machines) • possible to virtualize any machine (though DB is recommended on bare metal)
  • 6. GenaSYS Benefits • Packaged files that can be used again to rebuild a machine on new hardware • Init scripts that ease/automate startup and shutdown • Convenience features • “attach” and “detach” bash aliases to remove a brick from rotation) • “extras” scripts (e.g., brick_ctl.sh) are added to the opensrf user’s search path
  • 7. GenaSYS Defaults • Templates for OpenSRF/Evergreen configuration files – based on original versions but configured for clustered instance • Templates for Apache configuration files optimized for clustered instance • OS-level configurations for networking, NFS, logging, database, etc.
  • 8. Code Availability GenaSYS: git://git.evergreen- ils.org/contrib/pines/genasys.git Debian Packaging: git://git.evergreen-ils.org/contrib/pines/eg- debian.git License: GNU GPL version 3 Copyright (C) Georgia Public Library Service
  • 9. The Genesis of GenaSYS Evergreen ILS Installation Process:
  • 10. The Genesis of GenaSYS Evergreen ILS Installation: • requires manual changes of multiple configuration files • many repetitive steps • high risk of typos/human error • lots of time required (30 – 45 minutes for experienced admins; 3 or more hours for new admins) • and that's just a single machine - what about building clusters?
  • 11. The Genesis of GenaSYS Evergreen Server Clustering: • Linux Virtual Server (LVS) • brick heads/drones (OpenSRF, NFS, SSH keys) • utility server (OpenSRF, NFS, cron jobs) • SIP servers (OpenSRF, SIPServer.pm, cron jobs) • logger servers (client setup, server setup) • database servers (local configurations) • reports server (NFS, OpenSRF)
  • 12. Enter GenaSYS • development began in early 2011 • goal was to implement a vanilla Evergreen-ILS installation with a single script • and without manually touching configuration files • script needed to be easily modifiable to accommodate changes/updates/upgrades • builds an Evergreen 2.1.1 cluster on Debian 6.0 “squeeze”
  • 13. GenaSYS: Two Parts 1. Debian packaging of OpenSRF, Evergreen, and unpackaged dependencies (libdbi, spidermonkey, etc.) 2. Cluster configuration generation: GenaSYS
  • 14. Debian Packaging • Goal was to create easily installable software packages to replicate the manual building process. • Debs are built from Evergreen source + any customizations/changes for your setup • Not currently working on any sort of official Debian acceptance of packages
  • 15. GenaSYS Cluster Configuration • Bash script: easily readable, easily modifiable • utilizes templates of configuration files with markers for changed items • gathers information from the user via command line prompts to automatically populate the OpenSRF and Evergreen configuration files • creates gzipped tar archives of all files required to build each server in the cluster, including custom Debian packages • Archives are re-usable for recreating the same machine on new hardware
  • 17. GenaSYS: Recap GenaSYS Installation: • Doesn’t require manual changes of configuration files • Automates repetitive steps • Significantly decreases risk of typos/human error • Reduces number of steps required to create a cluster • Creates packages that can be saved and used again to rebuild each server
  • 19. GenaSYS Future Directions • Project will remain active, primarily for GPLS needs • Feature requests/bug reports will be accepted (method for this TBD) • Plan for Ubuntu LTS support

Editor's Notes

  1. 2011 Conference - co-presented a program with Ben Shum of Bibliomation that demoed an Evergreen single-server installation.
  2. 2011 Conference - co-presented a program with Ben Shum of Bibliomation that demoed an Evergreen single-server installation.