SlideShare a Scribd company logo
1 of 34
Download to read offline
The road to Puppet 5 6
Kris Buytaert &
Lander Van den Bulcke
@krisbuytaert
@landervdb
Kris BuytaertKris Buytaert
● I used to be a Dev,I used to be a Dev,
● Then Became an OpThen Became an Op
● 10+ years of puppet10+ years of puppet
● CTO and Open Source ConsultantCTO and Open Source Consultant
@@inuits.euinuits.eu
● Everything is a freaking DNS ProblemEverything is a freaking DNS Problem
● Evangelizing devopsEvangelizing devops
● Organiser of #devopsdays,Organiser of #devopsdays,
#cfgmgmtcamp, #loadays, ….#cfgmgmtcamp, #loadays, ….
Lander Van den BulckeLander Van den Bulcke
● OpsOps
● Open Source Consultant @ Inuits.euOpen Source Consultant @ Inuits.eu
● Mainly focusing on infrastructure as code,Mainly focusing on infrastructure as code,
automation, monitoringautomation, monitoring
Why Migrate to Puppet n+1Why Migrate to Puppet n+1
● 201X : nope , there is no business value201X : nope , there is no business value
Why Migrate to Puppet n+1Why Migrate to Puppet n+1
● 2015 : nope , there is no business value2015 : nope , there is no business value
•
& we need foreman& we need foreman
Why Migrate to Puppet n+1Why Migrate to Puppet n+1
● 2015 : nope , there is no business value2015 : nope , there is no business value
● 2016 :2016 :
•
nope, still no business value, but 3.X is EOL ,nope, still no business value, but 3.X is EOL ,
people are thinkingpeople are thinking
Why Migrate to Puppet 4Why Migrate to Puppet 4
● 2015 : nope , there is no business value2015 : nope , there is no business value
● 2016 :2016 :
•
nope, still no business value, but 3.X is EOL ,nope, still no business value, but 3.X is EOL ,
people are thinkingpeople are thinking
•
1 customer considering1 customer considering
•
0 customers actually migrating0 customers actually migrating
Why Migrate to Puppet 4Why Migrate to Puppet 4
● 2016 :2016 :
•
Vox Pupuli movesVox Pupuli moves
forwardforward
•
@daenny writes@daenny writes
“Goodbye, Puppet”“Goodbye, Puppet”
Puppet consideredPuppet considered
Feature CompleteFeature Complete
Why Migrate to Puppet 5Why Migrate to Puppet 5
● 2017 :2017 :
•
fsck .. upstream breaks on Puppet 3,fsck .. upstream breaks on Puppet 3,
•
Both puppetlabs and VoxBoth puppetlabs and Vox
•
We’re pinning oour versionsWe’re pinning oour versions
Why Migrate to Puppet 5Why Migrate to Puppet 5
● 2017 :2017 :
•
fsck .. upstream breaks on Puppet 3,fsck .. upstream breaks on Puppet 3,
•
Both puppetlabs and VoxBoth puppetlabs and Vox
•
We’re pinning our versionsWe’re pinning our versions
•
Hmm.. this Choria thing looks coolHmm.. this Choria thing looks cool
•
Vault + Hiera integrationVault + Hiera integration
Why Migrate to Puppet 5Why Migrate to Puppet 5
● 2015 : nope , there is no business value2015 : nope , there is no business value
● 2016 : nope2016 : nope
● 2017 : nope2017 : nope
● 2018 : hmm. We need support for XYZ and2018 : hmm. We need support for XYZ and
that’s in the upstream module in a puppet 5that’s in the upstream module in a puppet 5
version.version.
Let’s migrate...Let’s migrate...
State in 2018-09State in 2018-09
● 75% of our consulting customer base is still on75% of our consulting customer base is still on
3.X with no intent of migrating their code base3.X with no intent of migrating their code base
● New projects are in Puppet 5New projects are in Puppet 5
● Maintaining 2 stacks.Maintaining 2 stacks.
● Some have moved to AnsibleSome have moved to Ansible
● This hot new Container thingie .. K8sThis hot new Container thingie .. K8s
Our internal EcoSystemOur internal EcoSystem
● 20+ platforms20+ platforms
● (dev)/(uat)/prod(a,b)(dev)/(uat)/prod(a,b)
● +/- 60 puppet environments+/- 60 puppet environments
● Continuous Delivery of IaC !!!Continuous Delivery of IaC !!!
● Pipeline as CodePipeline as Code
● 3.8 fte3.8 fte
Our Trees:Our Trees:
├──├── environment.confenvironment.conf
├──├── manifestsmanifests
│   ├──│   ├── nodesnodes
│   └──│   └── site.ppsite.pp
├──├── modulesmodules
   ├──   ├── internalinternal
    └──    └── upstreamupstream
Git submodules for release managementGit submodules for release management
Continuous DeliveryContinuous Delivery
2 years earlier2 years earlier
● puppet-tree-validate runs in a containerpuppet-tree-validate runs in a container
● Multiple versions get testedMultiple versions get tested
● Non breaking on the not used versionNon breaking on the not used version
● Testing on n, n+1 n+2Testing on n, n+1 n+2
Spinning up a P5 stackSpinning up a P5 stack
● Fresh Puppet MasterFresh Puppet Master
•
CA,CA,
•
ForemanForeman
•
PuppetDBPuppetDB
•
ChoriaChoria
Everything is aEverything is a
Freaking DNS problemFreaking DNS problem
Fun with srv recordsFun with srv records
A new PuppetDB ?A new PuppetDB ?
● But we heavily use(d) Exported ResourcesBut we heavily use(d) Exported Resources
•
IcingaIcinga
•
Reverse proxiesReverse proxies
•
Database CreationsDatabase Creations
Making Bernd HappyMaking Bernd Happy
● Puppet 5 stack => Icinga 2 migrationPuppet 5 stack => Icinga 2 migration
Clean TreeClean Tree
● For module in modules/upstream/For module in modules/upstream/
s/currenthash/master/g;s/currenthash/master/g;
● Break all the thingsBreak all the things
•
Bug in sudo : %%group vs %groupBug in sudo : %%group vs %group
•
......
•
Naming ThingsNaming Things
● How do you call the puppet5 version of theHow do you call the puppet5 version of the
environment currently known asenvironment currently known as
mgmtdev,mgmtprod ?mgmtdev,mgmtprod ?
mgmtdev5,mgmtprod5 ?mgmtdev5,mgmtprod5 ?
Puppet DB APIPuppet DB API
● Inventory views are based on puppetdbInventory views are based on puppetdb
Puppet DB APIPuppet DB API
● Inventory views are based on puppetdbInventory views are based on puppetdb
MVPMVP
● WebWeb
● DbDb
● LbLb
● Icinga2Icinga2
Hiera + VaultHiera + Vault
● We reverted our integration in P3 becaus it wasWe reverted our integration in P3 becaus it was
under performing (blocking)under performing (blocking)
● Jruby 9K issuesJruby 9K issues
● Performance issues still not solved :(Performance issues still not solved :(
Hiera + VaultHiera + Vault
Source: Joe Pinsonault – https://tickets.puppetlabs.com/browse/SERVER-1864
Hiera + VaultHiera + Vault
Source: Joe Pinsonault – https://tickets.puppetlabs.com/browse/SERVER-1864
Current stateCurrent state
● All new Roles/Profles we build are P5 onlyAll new Roles/Profles we build are P5 only
● Some stacks are mixed P5 , P3Some stacks are mixed P5 , P3
● We’re not actually migrating yet.We’re not actually migrating yet.
● We’re onboarding new stacks in the newWe’re onboarding new stacks in the new
ecosystemecosystem
Next StepsNext Steps
● Take Recent stack that ft in the MVP rolesTake Recent stack that ft in the MVP roles
•
Migrate them to P5Migrate them to P5
● No efort planned on EL6 puppet codeNo efort planned on EL6 puppet code
● Rebuild EL6 stacks on EL{7,8} with newRebuild EL6 stacks on EL{7,8} with new
Roles/ProflesRoles/Profles
One more thingOne more thing
Confg Management Camp 2019Confg Management Camp 2019
4-6 february 20194-6 february 2019
Gent , BelgiumGent , Belgium
https://cfp.cfgmgmtcamp.be/https://cfp.cfgmgmtcamp.be/
ContactContact
Kris Buytaert Kris.Buytaert@inuits.euKris Buytaert Kris.Buytaert@inuits.eu
Further ReadingFurther Reading
@krisbuytaert@krisbuytaert
http://www.krisbuytaert.be/blog/http://www.krisbuytaert.be/blog/
http://www.inuits.eu/http://www.inuits.eu/
Inuits.euInuits.eu
Essensteenweg 31Essensteenweg 31
BrasschaatBrasschaat
BelgiumBelgium
891.514.231891.514.231
+32 475 961221+32 475 961221

More Related Content

What's hot

10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ? 10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ? Kris Buytaert
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?Kris Buytaert
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremKris Buytaert
 
ADDO 2019: Looking back at over 10 years of Devops
ADDO 2019:    Looking back at over 10 years of DevopsADDO 2019:    Looking back at over 10 years of Devops
ADDO 2019: Looking back at over 10 years of DevopsKris Buytaert
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?Kris Buytaert
 
Is there a Future for devops ?
Is there a Future for devops   ? Is there a Future for devops   ?
Is there a Future for devops ? Kris Buytaert
 
Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Kris Buytaert
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionKris Buytaert
 
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSDevopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSKris Buytaert
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security RequirementKris Buytaert
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops effortsKris Buytaert
 
Nightmare on Docker street
Nightmare on Docker streetNightmare on Docker street
Nightmare on Docker streetKris Buytaert
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live DevopsKris Buytaert
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerKris Buytaert
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with PuppetKris Buytaert
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devopsKris Buytaert
 
Docker is killing your #devops Efforts
Docker is killing your #devops EffortsDocker is killing your #devops Efforts
Docker is killing your #devops EffortsKris Buytaert
 
Looking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcampLooking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcampKris Buytaert
 

What's hot (20)

10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ? 10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ?
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Pipeline as Code
Pipeline as CodePipeline as Code
Pipeline as Code
 
ADDO 2019: Looking back at over 10 years of Devops
ADDO 2019:    Looking back at over 10 years of DevopsADDO 2019:    Looking back at over 10 years of Devops
ADDO 2019: Looking back at over 10 years of Devops
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?
 
Is there a Future for devops ?
Is there a Future for devops   ? Is there a Future for devops   ?
Is there a Future for devops ?
 
Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 Edition
 
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSDevopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security Requirement
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops efforts
 
Nightmare on Docker street
Nightmare on Docker streetNightmare on Docker street
Nightmare on Docker street
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live Devops
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack Engineer
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with Puppet
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devops
 
Docker is killing your #devops Efforts
Docker is killing your #devops EffortsDocker is killing your #devops Efforts
Docker is killing your #devops Efforts
 
Looking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcampLooking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcamp
 

Similar to Migrating to Puppet 5

Another 7 tools for your #devops stack
Another 7 tools for your #devops stackAnother 7 tools for your #devops stack
Another 7 tools for your #devops stackKris Buytaert
 
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris BuytaertOSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris BuytaertNETWAYS
 
Groovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineGroovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineKris Buytaert
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert NETWAYS
 
From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove Kris Buytaert
 
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionRun stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionKris Buytaert
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your InfrastructureKris Buytaert
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Kris Buytaert
 
When traditional configuration management is to slow for your needs
When traditional configuration management is to slow for your needsWhen traditional configuration management is to slow for your needs
When traditional configuration management is to slow for your needsKris Buytaert
 
Open Source Monitoring in 2015
Open Source Monitoring in 2015Open Source Monitoring in 2015
Open Source Monitoring in 2015Kris Buytaert
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite EditionKris Buytaert
 
On Rabbits and Elephants
On Rabbits and ElephantsOn Rabbits and Elephants
On Rabbits and ElephantsGavin Roy
 
Looking back at 7.5 years of Devopsdays , DOd PDX
Looking back at 7.5 years of Devopsdays , DOd PDXLooking back at 7.5 years of Devopsdays , DOd PDX
Looking back at 7.5 years of Devopsdays , DOd PDXKris Buytaert
 
Puppet and Software Delivery
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software DeliveryJulien Pivotto
 
Icinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as CodeIcinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as CodeIcinga
 
On the Importance of Infrastructure as Code
On the Importance of Infrastructure as CodeOn the Importance of Infrastructure as Code
On the Importance of Infrastructure as CodeKris Buytaert
 
Run stuff, Deploy Stuff
Run stuff, Deploy StuffRun stuff, Deploy Stuff
Run stuff, Deploy StuffKris Buytaert
 

Similar to Migrating to Puppet 5 (20)

Another 7 tools for your #devops stack
Another 7 tools for your #devops stackAnother 7 tools for your #devops stack
Another 7 tools for your #devops stack
 
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris BuytaertOSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
 
Groovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineGroovy there's a docker in my application pipeline
Groovy there's a docker in my application pipeline
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
 
From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove
 
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionRun stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 Edition
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your Infrastructure
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.
 
When traditional configuration management is to slow for your needs
When traditional configuration management is to slow for your needsWhen traditional configuration management is to slow for your needs
When traditional configuration management is to slow for your needs
 
Pinto+Stratopan+Love
Pinto+Stratopan+LovePinto+Stratopan+Love
Pinto+Stratopan+Love
 
Open Source Monitoring in 2015
Open Source Monitoring in 2015Open Source Monitoring in 2015
Open Source Monitoring in 2015
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite Edition
 
On Rabbits and Elephants
On Rabbits and ElephantsOn Rabbits and Elephants
On Rabbits and Elephants
 
Looking back at 7.5 years of Devopsdays , DOd PDX
Looking back at 7.5 years of Devopsdays , DOd PDXLooking back at 7.5 years of Devopsdays , DOd PDX
Looking back at 7.5 years of Devopsdays , DOd PDX
 
Puppet and Software Delivery
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software Delivery
 
Cloud Needs Devops
Cloud Needs DevopsCloud Needs Devops
Cloud Needs Devops
 
My talk at LVEE 2016
My talk at LVEE 2016My talk at LVEE 2016
My talk at LVEE 2016
 
Icinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as CodeIcinga Camp Amsterdam - Infrastructure as Code
Icinga Camp Amsterdam - Infrastructure as Code
 
On the Importance of Infrastructure as Code
On the Importance of Infrastructure as CodeOn the Importance of Infrastructure as Code
On the Importance of Infrastructure as Code
 
Run stuff, Deploy Stuff
Run stuff, Deploy StuffRun stuff, Deploy Stuff
Run stuff, Deploy Stuff
 

More from Kris Buytaert

Years of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoopsYears of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoopsKris Buytaert
 
Observability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,IgniteObservability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,IgniteKris Buytaert
 
Infrastructure as Code Patterns
Infrastructure as Code PatternsInfrastructure as Code Patterns
Infrastructure as Code PatternsKris Buytaert
 
From devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learningFrom devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learningKris Buytaert
 
Pipeline all the Dashboards as Code
Pipeline all the Dashboards as CodePipeline all the Dashboards as Code
Pipeline all the Dashboards as CodeKris Buytaert
 
10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdnessKris Buytaert
 

More from Kris Buytaert (6)

Years of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoopsYears of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoops
 
Observability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,IgniteObservability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,Ignite
 
Infrastructure as Code Patterns
Infrastructure as Code PatternsInfrastructure as Code Patterns
Infrastructure as Code Patterns
 
From devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learningFrom devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learning
 
Pipeline all the Dashboards as Code
Pipeline all the Dashboards as CodePipeline all the Dashboards as Code
Pipeline all the Dashboards as Code
 
10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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...
 

Migrating to Puppet 5

  • 1. The road to Puppet 5 6 Kris Buytaert & Lander Van den Bulcke @krisbuytaert @landervdb
  • 2. Kris BuytaertKris Buytaert ● I used to be a Dev,I used to be a Dev, ● Then Became an OpThen Became an Op ● 10+ years of puppet10+ years of puppet ● CTO and Open Source ConsultantCTO and Open Source Consultant @@inuits.euinuits.eu ● Everything is a freaking DNS ProblemEverything is a freaking DNS Problem ● Evangelizing devopsEvangelizing devops ● Organiser of #devopsdays,Organiser of #devopsdays, #cfgmgmtcamp, #loadays, ….#cfgmgmtcamp, #loadays, ….
  • 3. Lander Van den BulckeLander Van den Bulcke ● OpsOps ● Open Source Consultant @ Inuits.euOpen Source Consultant @ Inuits.eu ● Mainly focusing on infrastructure as code,Mainly focusing on infrastructure as code, automation, monitoringautomation, monitoring
  • 4. Why Migrate to Puppet n+1Why Migrate to Puppet n+1 ● 201X : nope , there is no business value201X : nope , there is no business value
  • 5. Why Migrate to Puppet n+1Why Migrate to Puppet n+1 ● 2015 : nope , there is no business value2015 : nope , there is no business value • & we need foreman& we need foreman
  • 6. Why Migrate to Puppet n+1Why Migrate to Puppet n+1 ● 2015 : nope , there is no business value2015 : nope , there is no business value ● 2016 :2016 : • nope, still no business value, but 3.X is EOL ,nope, still no business value, but 3.X is EOL , people are thinkingpeople are thinking
  • 7. Why Migrate to Puppet 4Why Migrate to Puppet 4 ● 2015 : nope , there is no business value2015 : nope , there is no business value ● 2016 :2016 : • nope, still no business value, but 3.X is EOL ,nope, still no business value, but 3.X is EOL , people are thinkingpeople are thinking • 1 customer considering1 customer considering • 0 customers actually migrating0 customers actually migrating
  • 8. Why Migrate to Puppet 4Why Migrate to Puppet 4 ● 2016 :2016 : • Vox Pupuli movesVox Pupuli moves forwardforward • @daenny writes@daenny writes “Goodbye, Puppet”“Goodbye, Puppet” Puppet consideredPuppet considered Feature CompleteFeature Complete
  • 9. Why Migrate to Puppet 5Why Migrate to Puppet 5 ● 2017 :2017 : • fsck .. upstream breaks on Puppet 3,fsck .. upstream breaks on Puppet 3, • Both puppetlabs and VoxBoth puppetlabs and Vox • We’re pinning oour versionsWe’re pinning oour versions
  • 10. Why Migrate to Puppet 5Why Migrate to Puppet 5 ● 2017 :2017 : • fsck .. upstream breaks on Puppet 3,fsck .. upstream breaks on Puppet 3, • Both puppetlabs and VoxBoth puppetlabs and Vox • We’re pinning our versionsWe’re pinning our versions • Hmm.. this Choria thing looks coolHmm.. this Choria thing looks cool • Vault + Hiera integrationVault + Hiera integration
  • 11. Why Migrate to Puppet 5Why Migrate to Puppet 5 ● 2015 : nope , there is no business value2015 : nope , there is no business value ● 2016 : nope2016 : nope ● 2017 : nope2017 : nope ● 2018 : hmm. We need support for XYZ and2018 : hmm. We need support for XYZ and that’s in the upstream module in a puppet 5that’s in the upstream module in a puppet 5 version.version. Let’s migrate...Let’s migrate...
  • 12. State in 2018-09State in 2018-09 ● 75% of our consulting customer base is still on75% of our consulting customer base is still on 3.X with no intent of migrating their code base3.X with no intent of migrating their code base ● New projects are in Puppet 5New projects are in Puppet 5 ● Maintaining 2 stacks.Maintaining 2 stacks. ● Some have moved to AnsibleSome have moved to Ansible ● This hot new Container thingie .. K8sThis hot new Container thingie .. K8s
  • 13. Our internal EcoSystemOur internal EcoSystem ● 20+ platforms20+ platforms ● (dev)/(uat)/prod(a,b)(dev)/(uat)/prod(a,b) ● +/- 60 puppet environments+/- 60 puppet environments ● Continuous Delivery of IaC !!!Continuous Delivery of IaC !!! ● Pipeline as CodePipeline as Code ● 3.8 fte3.8 fte
  • 14. Our Trees:Our Trees: ├──├── environment.confenvironment.conf ├──├── manifestsmanifests │   ├──│   ├── nodesnodes │   └──│   └── site.ppsite.pp ├──├── modulesmodules    ├──   ├── internalinternal     └──    └── upstreamupstream Git submodules for release managementGit submodules for release management
  • 15.
  • 16.
  • 18. 2 years earlier2 years earlier ● puppet-tree-validate runs in a containerpuppet-tree-validate runs in a container ● Multiple versions get testedMultiple versions get tested ● Non breaking on the not used versionNon breaking on the not used version ● Testing on n, n+1 n+2Testing on n, n+1 n+2
  • 19. Spinning up a P5 stackSpinning up a P5 stack ● Fresh Puppet MasterFresh Puppet Master • CA,CA, • ForemanForeman • PuppetDBPuppetDB • ChoriaChoria
  • 20. Everything is aEverything is a Freaking DNS problemFreaking DNS problem Fun with srv recordsFun with srv records
  • 21. A new PuppetDB ?A new PuppetDB ? ● But we heavily use(d) Exported ResourcesBut we heavily use(d) Exported Resources • IcingaIcinga • Reverse proxiesReverse proxies • Database CreationsDatabase Creations
  • 22. Making Bernd HappyMaking Bernd Happy ● Puppet 5 stack => Icinga 2 migrationPuppet 5 stack => Icinga 2 migration
  • 23. Clean TreeClean Tree ● For module in modules/upstream/For module in modules/upstream/ s/currenthash/master/g;s/currenthash/master/g; ● Break all the thingsBreak all the things • Bug in sudo : %%group vs %groupBug in sudo : %%group vs %group • ...... •
  • 24. Naming ThingsNaming Things ● How do you call the puppet5 version of theHow do you call the puppet5 version of the environment currently known asenvironment currently known as mgmtdev,mgmtprod ?mgmtdev,mgmtprod ? mgmtdev5,mgmtprod5 ?mgmtdev5,mgmtprod5 ?
  • 25. Puppet DB APIPuppet DB API ● Inventory views are based on puppetdbInventory views are based on puppetdb
  • 26. Puppet DB APIPuppet DB API ● Inventory views are based on puppetdbInventory views are based on puppetdb
  • 27. MVPMVP ● WebWeb ● DbDb ● LbLb ● Icinga2Icinga2
  • 28. Hiera + VaultHiera + Vault ● We reverted our integration in P3 becaus it wasWe reverted our integration in P3 becaus it was under performing (blocking)under performing (blocking) ● Jruby 9K issuesJruby 9K issues ● Performance issues still not solved :(Performance issues still not solved :(
  • 29. Hiera + VaultHiera + Vault Source: Joe Pinsonault – https://tickets.puppetlabs.com/browse/SERVER-1864
  • 30. Hiera + VaultHiera + Vault Source: Joe Pinsonault – https://tickets.puppetlabs.com/browse/SERVER-1864
  • 31. Current stateCurrent state ● All new Roles/Profles we build are P5 onlyAll new Roles/Profles we build are P5 only ● Some stacks are mixed P5 , P3Some stacks are mixed P5 , P3 ● We’re not actually migrating yet.We’re not actually migrating yet. ● We’re onboarding new stacks in the newWe’re onboarding new stacks in the new ecosystemecosystem
  • 32. Next StepsNext Steps ● Take Recent stack that ft in the MVP rolesTake Recent stack that ft in the MVP roles • Migrate them to P5Migrate them to P5 ● No efort planned on EL6 puppet codeNo efort planned on EL6 puppet code ● Rebuild EL6 stacks on EL{7,8} with newRebuild EL6 stacks on EL{7,8} with new Roles/ProflesRoles/Profles
  • 33. One more thingOne more thing Confg Management Camp 2019Confg Management Camp 2019 4-6 february 20194-6 february 2019 Gent , BelgiumGent , Belgium https://cfp.cfgmgmtcamp.be/https://cfp.cfgmgmtcamp.be/
  • 34. ContactContact Kris Buytaert Kris.Buytaert@inuits.euKris Buytaert Kris.Buytaert@inuits.eu Further ReadingFurther Reading @krisbuytaert@krisbuytaert http://www.krisbuytaert.be/blog/http://www.krisbuytaert.be/blog/ http://www.inuits.eu/http://www.inuits.eu/ Inuits.euInuits.eu Essensteenweg 31Essensteenweg 31 BrasschaatBrasschaat BelgiumBelgium 891.514.231891.514.231 +32 475 961221+32 475 961221