SlideShare une entreprise Scribd logo
1  sur  30
Cooperating sysadmins: it’s not 
an oxymoron. 
Integrating Puppet and Gitolite to make our lives easier. 
Luca Mazzaferro 
04 December 2014
Outline 
● About me... 
● The Motivations 
● The Ingredients 
● Puppet-Gitolite integration 
● Final considerations. 
● Conclusions. 
...in 20 minutes (approximately) 
2
About me... 
Born 33 years 
ago here... 
Master Degree in 
Physics at “La 
Sapienza” 
PhD in Physics at 
“Tor Vergata” 
Rome: a place with many 
cultural interests, but I 
was still looking for other 
experiences... 
Why not München? 
3
RZG Garching 
Computing support for many experiments and collaborations: 
Storage and Data archiving for Max Planck Scientists: 
● up to 90PBytes 
● 30K Tapes 
IBM Supercomputer Hydra (80k cores, total memory: 260 TByte; 
water cooling): 
● Research on Nuclear Fusions and Plasma Physics 
● High Energy Physics 
● Material Science 
● Simulations 
Applications support of high-performance-computing 
applications to Max-Planck Institutes: 
● development 
● optimization 
● analysis 
● visualization 
http://www.rzg.mpg.de/ 
4 
Many dedicated linux clusters
Ok, let’s start: 
Motivations 
5
The problem 
6
How to enable many sysadmins to work together on 
one centralize puppet master without interfering with 
each other? 
7 
The problem
The Ingredients 
8
Puppet 
● It’s an opensource multiplatform management tool 
based on Ruby (“Wikipedia”). 
● It helps to manage an entire infrastructure throughout its 
lifecycle from the provisioning and configuration to 
orchestration and reporting (“PuppetLabs.com”) 
● In few word it is like a good orchestra 
conductor 
9
Quick overview about Puppet 
Puppet 
Code 
3. Enforce the changes 
Install... 
Update... 
Configure... 
Restart... 
etc... 
4. Reporting 
2. Simulate them before 
deploying changes 
1. Define your services/resources in 
reusable manifests eventually 
organized in modules 
10 
Dashboard 
Foreman 
Terminal
Foreman 
● Foreman is an open source project that gives system 
administrators the power to easily automate repetitive 
tasks, quickly deploy applications, and proactively 
manage servers, on-premises or in the cloud. [http: 
//theforeman.org/] 
● We use it on top of Puppet as 
○ User and grants management 
○ Monitor 
○ Report collector 
○ External Node Classifier (ENC) 
11
Quick overview about Gitolite 
12 
“Gitolite allows you to setup git hosting on a central server, 
with fine-grained access control and many more powerful 
features”. [http://gitolite.com/gitolite/index.html] 
● Easy to install: it’s a tarball working with few setup 
● Security based on ssh-key exchange 
● Easy manageable via a dedicated repository (no direct intervention on the 
server) 
● Extensible with plugins and graphical interface 
● Hooks and Triggers available to add customizations
Let’s cook 
Puppet-Gitolite integration 
13
Putting things together 
● Puppet: 
○ deployment service 
● Foreman: 
○ puppet management service (stops 
admins interfering with each other) 
● Gitolite: 
○ enables admins to develop and share 
modules without interfering each other. 
○ avoiding direct access to puppet server 
14
Puppet - Gitolite integration 
/environments 
/ 
/modules 
gitolite /manifests 
Experiments 
[applications] 
Storage 
Compute 
Nodes 
Exp/App 
Storage 
CP Nodes 
15
/environments 
/ 
/modules 
gitolite /manifests 
Experiments 
[applications] 
Storage 
Compute 
Nodes 
Exp/App 
Storage 
CP Nodes 
Puppet - Gitolite integration 
16
/environments 
/ 
/modules 
gitolite /manifests 
Experiments 
[applications] 
Storage 
Compute 
Nodes 
Exp/App 
Storage 
CP Nodes 
Puppet - Gitolite integration 
17
/environments 
/ 
/modules 
gitolite /manifests 
Experiments 
[applications] 
Storage 
Compute 
Nodes 
Exp/App 
Storage 
CP Nodes 
Puppet - Gitolite integration 
18
Our Solution 
gitolite 
19
Puppet User Management 
/environments 
/ 
/modules 
/manifests 
Exp/App 
Storage 
CP Nodes 
Storage 
Foreman Interface as ENC: 
● User management: 
○ association environments <-> users 
○ association environments <-> nodes 
○ correlation with gitolite repositories 
● Centralized management of puppet master, 
certificates, 
● Monitoring 
20
A bit deeper inside Gitolite 
gitweb 
Experiments.git Storage.git Compute Nodes.git 
Experiments 
/environments 
Storage Compute Nodes 
Repositories 
Experiments 
[applications] 
gitolite 
● Access to repositories via git protocol 
● Authorizations and Authentications 
based on ssh-keys 
● Web interface (gitweb) for modules 
visualization 
21
Some considerations about Gitolite 
Benefits: 
● Allows several sysadmins to work on the same puppet 
master in a safe way 
● Provide a revision control 
● Web Interface (gitweb) for code viewing 
● Allows simply code sharing 
22
Final considerations 
23
● Closed environments to avoid 
errors propagation but... 
● ... still enabling code sharing 
between different sysadmins 
● One only centralized service to 
maintain 
● Revision controller 
● Increase the safety 
● Open Source 
● Suggestions? 
● Maybe: a bit tricky to install and 
configure the first time?! But 
Doable! 
● Suggestions? 
24
Next Steps 
● continuous integration + continuous delivery: 
○ Docker and/or Jenkins? 
● Improve authorization and access in the 
gitolite web interface 
25
Conclusions 
Enable many sysadmins to work together on 
one centralize puppet master without 
interfering with each other! 
● Increase the safety: no direct interaction with P.M. 
● Revision Control 
● Just started but looks promising 
26
Thanks for your attention 
Any question or suggestion? 
27 
luca.mazzaferro@rzg.mpg.de
Some Tech Details 
Very Light Weight 
Type: VM 
OS: SL6.6 
cpu: 1 
mem: 2G 
Docker Version: 1.3.1 
Foreman Version: 1.6.1 
Puppet Master: 3.7.3 
/var/log 
/etc/foreman 
link 
/var/lib/puppet/ssl 
/etc/puppet/environments 
/etc/puppet/modules 
gitolite 
About our infrastructure 
Computing farm for physics 
experiments: 
● Storage: 1.5 PBytes 
● Computes Nodes: hundreds 
● Many services for users 
Research Communities: 
● up to 10 
Owncloud internal service: 
● just started 
Total sysadmins supported: 
● three 
22
Motivations 
What ONE sysadmin would like to have: 
● Easy life: 
○ easily deploy of new softwares or upgrades 
○ fast and easy reconfigurations/restart of the 
services 
○ possibly, one interface for different tools 
○ OS independent 
○ higher level of abstraction 
○ automation 
6
Motivations 
...but what if MANY sysadmins are working on 
the same system? 
● closed environments 
● sharing of the code and configurations 
● writing code?! Revision controller! 
● centralized automation system 
7

Contenu connexe

Tendances

CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with KatelloCfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with KatelloStephen Benjamin
 
Code review and automated testing for Puppet code
Code review and automated testing for Puppet codeCode review and automated testing for Puppet code
Code review and automated testing for Puppet codewzzrd
 
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Anne Nicolas
 
VASCAN - Docker and Security
VASCAN - Docker and SecurityVASCAN - Docker and Security
VASCAN - Docker and SecurityMichael Irwin
 
Matthew Mosesohn - Configuration Management at Large Companies
Matthew Mosesohn - Configuration Management at Large Companies Matthew Mosesohn - Configuration Management at Large Companies
Matthew Mosesohn - Configuration Management at Large Companies Yandex
 
Docker Introduction - DevOps Montreal Meetup
Docker Introduction - DevOps Montreal MeetupDocker Introduction - DevOps Montreal Meetup
Docker Introduction - DevOps Montreal MeetupColin Surprenant
 
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017Jay Bryant
 
OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017Stacy Véronneau
 
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018Jay Bryant
 
NuGet (anti-)patterns - Tales from the Trenches
NuGet (anti-)patterns - Tales from the TrenchesNuGet (anti-)patterns - Tales from the Trenches
NuGet (anti-)patterns - Tales from the TrenchesXavier Decoster
 
Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Chandan Kumar
 
Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Jay Bryant
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and TricksPhase2
 
OpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on TutorialOpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on TutorialOpenNebula Project
 
OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale testAliasgar Ginwala
 
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)Red Hat Developers
 
OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017Stacy Véronneau
 

Tendances (20)

CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with KatelloCfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
 
How to use miniedit
How to use minieditHow to use miniedit
How to use miniedit
 
Code review and automated testing for Puppet code
Code review and automated testing for Puppet codeCode review and automated testing for Puppet code
Code review and automated testing for Puppet code
 
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
 
VASCAN - Docker and Security
VASCAN - Docker and SecurityVASCAN - Docker and Security
VASCAN - Docker and Security
 
Matthew Mosesohn - Configuration Management at Large Companies
Matthew Mosesohn - Configuration Management at Large Companies Matthew Mosesohn - Configuration Management at Large Companies
Matthew Mosesohn - Configuration Management at Large Companies
 
Docker Introduction - DevOps Montreal Meetup
Docker Introduction - DevOps Montreal MeetupDocker Introduction - DevOps Montreal Meetup
Docker Introduction - DevOps Montreal Meetup
 
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
 
OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017
 
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
 
NuGet (anti-)patterns - Tales from the Trenches
NuGet (anti-)patterns - Tales from the TrenchesNuGet (anti-)patterns - Tales from the Trenches
NuGet (anti-)patterns - Tales from the Trenches
 
Orchestrating Linux Containers
Orchestrating Linux ContainersOrchestrating Linux Containers
Orchestrating Linux Containers
 
Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
 
Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and Tricks
 
OpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on TutorialOpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on Tutorial
 
OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale test
 
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
 
OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017
 
OpenDaylight go
OpenDaylight goOpenDaylight go
OpenDaylight go
 

Similaire à Integrating Puppet and Gitolite for sysadmins cooperations

Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainŁukasz Piątkowski
 
Using Docker Platform to Provide Services
Using Docker Platform to Provide ServicesUsing Docker Platform to Provide Services
Using Docker Platform to Provide ServicesGLC Networks
 
PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...
PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...
PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...Puppet
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps WorkshopWeaveworks
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For ArchitectsKevin Brockhoff
 
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Sauce Labs
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingStanislav Osipov
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsAmbassador Labs
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfJose Manuel Ortega Candel
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Weaveworks
 
John Spray - Ceph in Kubernetes
John Spray - Ceph in KubernetesJohn Spray - Ceph in Kubernetes
John Spray - Ceph in KubernetesShapeBlue
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightSyed Moneeb
 
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, PuppetPuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, PuppetPuppet
 
MTCNA Intro to routerOS
MTCNA Intro to routerOSMTCNA Intro to routerOS
MTCNA Intro to routerOSGLC Networks
 
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueShapeBlue
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSTulipp. Eu
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Ambassador Labs
 

Similaire à Integrating Puppet and Gitolite for sysadmins cooperations (20)

Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform Gain
 
Using Docker Platform to Provide Services
Using Docker Platform to Provide ServicesUsing Docker Platform to Provide Services
Using Docker Platform to Provide Services
 
Docker Monitoring Webinar
Docker Monitoring  WebinarDocker Monitoring  Webinar
Docker Monitoring Webinar
 
PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...
PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...
PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps Workshop
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For Architects
 
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scaling
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdf
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
 
John Spray - Ceph in Kubernetes
John Spray - Ceph in KubernetesJohn Spray - Ceph in Kubernetes
John Spray - Ceph in Kubernetes
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylight
 
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, PuppetPuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
 
Mikrotik Hotspot
Mikrotik HotspotMikrotik Hotspot
Mikrotik Hotspot
 
MTCNA Intro to routerOS
MTCNA Intro to routerOSMTCNA Intro to routerOS
MTCNA Intro to routerOS
 
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 

Dernier

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 

Dernier (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 

Integrating Puppet and Gitolite for sysadmins cooperations

  • 1. Cooperating sysadmins: it’s not an oxymoron. Integrating Puppet and Gitolite to make our lives easier. Luca Mazzaferro 04 December 2014
  • 2. Outline ● About me... ● The Motivations ● The Ingredients ● Puppet-Gitolite integration ● Final considerations. ● Conclusions. ...in 20 minutes (approximately) 2
  • 3. About me... Born 33 years ago here... Master Degree in Physics at “La Sapienza” PhD in Physics at “Tor Vergata” Rome: a place with many cultural interests, but I was still looking for other experiences... Why not München? 3
  • 4. RZG Garching Computing support for many experiments and collaborations: Storage and Data archiving for Max Planck Scientists: ● up to 90PBytes ● 30K Tapes IBM Supercomputer Hydra (80k cores, total memory: 260 TByte; water cooling): ● Research on Nuclear Fusions and Plasma Physics ● High Energy Physics ● Material Science ● Simulations Applications support of high-performance-computing applications to Max-Planck Institutes: ● development ● optimization ● analysis ● visualization http://www.rzg.mpg.de/ 4 Many dedicated linux clusters
  • 5. Ok, let’s start: Motivations 5
  • 7. How to enable many sysadmins to work together on one centralize puppet master without interfering with each other? 7 The problem
  • 9. Puppet ● It’s an opensource multiplatform management tool based on Ruby (“Wikipedia”). ● It helps to manage an entire infrastructure throughout its lifecycle from the provisioning and configuration to orchestration and reporting (“PuppetLabs.com”) ● In few word it is like a good orchestra conductor 9
  • 10. Quick overview about Puppet Puppet Code 3. Enforce the changes Install... Update... Configure... Restart... etc... 4. Reporting 2. Simulate them before deploying changes 1. Define your services/resources in reusable manifests eventually organized in modules 10 Dashboard Foreman Terminal
  • 11. Foreman ● Foreman is an open source project that gives system administrators the power to easily automate repetitive tasks, quickly deploy applications, and proactively manage servers, on-premises or in the cloud. [http: //theforeman.org/] ● We use it on top of Puppet as ○ User and grants management ○ Monitor ○ Report collector ○ External Node Classifier (ENC) 11
  • 12. Quick overview about Gitolite 12 “Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features”. [http://gitolite.com/gitolite/index.html] ● Easy to install: it’s a tarball working with few setup ● Security based on ssh-key exchange ● Easy manageable via a dedicated repository (no direct intervention on the server) ● Extensible with plugins and graphical interface ● Hooks and Triggers available to add customizations
  • 14. Putting things together ● Puppet: ○ deployment service ● Foreman: ○ puppet management service (stops admins interfering with each other) ● Gitolite: ○ enables admins to develop and share modules without interfering each other. ○ avoiding direct access to puppet server 14
  • 15. Puppet - Gitolite integration /environments / /modules gitolite /manifests Experiments [applications] Storage Compute Nodes Exp/App Storage CP Nodes 15
  • 16. /environments / /modules gitolite /manifests Experiments [applications] Storage Compute Nodes Exp/App Storage CP Nodes Puppet - Gitolite integration 16
  • 17. /environments / /modules gitolite /manifests Experiments [applications] Storage Compute Nodes Exp/App Storage CP Nodes Puppet - Gitolite integration 17
  • 18. /environments / /modules gitolite /manifests Experiments [applications] Storage Compute Nodes Exp/App Storage CP Nodes Puppet - Gitolite integration 18
  • 20. Puppet User Management /environments / /modules /manifests Exp/App Storage CP Nodes Storage Foreman Interface as ENC: ● User management: ○ association environments <-> users ○ association environments <-> nodes ○ correlation with gitolite repositories ● Centralized management of puppet master, certificates, ● Monitoring 20
  • 21. A bit deeper inside Gitolite gitweb Experiments.git Storage.git Compute Nodes.git Experiments /environments Storage Compute Nodes Repositories Experiments [applications] gitolite ● Access to repositories via git protocol ● Authorizations and Authentications based on ssh-keys ● Web interface (gitweb) for modules visualization 21
  • 22. Some considerations about Gitolite Benefits: ● Allows several sysadmins to work on the same puppet master in a safe way ● Provide a revision control ● Web Interface (gitweb) for code viewing ● Allows simply code sharing 22
  • 24. ● Closed environments to avoid errors propagation but... ● ... still enabling code sharing between different sysadmins ● One only centralized service to maintain ● Revision controller ● Increase the safety ● Open Source ● Suggestions? ● Maybe: a bit tricky to install and configure the first time?! But Doable! ● Suggestions? 24
  • 25. Next Steps ● continuous integration + continuous delivery: ○ Docker and/or Jenkins? ● Improve authorization and access in the gitolite web interface 25
  • 26. Conclusions Enable many sysadmins to work together on one centralize puppet master without interfering with each other! ● Increase the safety: no direct interaction with P.M. ● Revision Control ● Just started but looks promising 26
  • 27. Thanks for your attention Any question or suggestion? 27 luca.mazzaferro@rzg.mpg.de
  • 28. Some Tech Details Very Light Weight Type: VM OS: SL6.6 cpu: 1 mem: 2G Docker Version: 1.3.1 Foreman Version: 1.6.1 Puppet Master: 3.7.3 /var/log /etc/foreman link /var/lib/puppet/ssl /etc/puppet/environments /etc/puppet/modules gitolite About our infrastructure Computing farm for physics experiments: ● Storage: 1.5 PBytes ● Computes Nodes: hundreds ● Many services for users Research Communities: ● up to 10 Owncloud internal service: ● just started Total sysadmins supported: ● three 22
  • 29. Motivations What ONE sysadmin would like to have: ● Easy life: ○ easily deploy of new softwares or upgrades ○ fast and easy reconfigurations/restart of the services ○ possibly, one interface for different tools ○ OS independent ○ higher level of abstraction ○ automation 6
  • 30. Motivations ...but what if MANY sysadmins are working on the same system? ● closed environments ● sharing of the code and configurations ● writing code?! Revision controller! ● centralized automation system 7