SlideShare a Scribd company logo
ORNL is managed by UT-Battelle, LLC
for the US Department of Energy
Iteratively introducing Puppet
technologies in the brownfield
Jeffrey Miller
HPC Linux Systems Engineer
HPC Core Ops Group
National Center for Computational Sciences
22 Open slide master to edit
Citation and Disclaimer
This work was supported by the Oak Ridge Leadership
Computing Facility (OLCF) and the Computer and Data
Environment for Science (CADES) at Oak Ridge National
Laboratory (ORNL) for the Department of Energy (DOE)
under Prime Contract Number DE-AC05-00OR-22725
This presentation does not contain any proprietary or
confidential information.
33 Open slide master to edit
Acknowledgements
Greg Shutt, CADES Task Lead
Cory Stargel, HPC Infrastructure Task Lead
Larry Orcutt, HPC Linux Systems Engineer
Michael Shute, HPC Linux Systems Engineer
James “Jake” Wynne, III, HPC Linux Systems Engineer
44 Open slide master to edit
Contact Information
Jeffrey Miller
Email: millerjl@ornl.gov
LinkedIn: https://www.linkedin.com/in/millerjl1701/
GitHub: https://github.com/millerjl1701
On Slack:
– https://puppetcommunity.slack.com
– https://simp-project.slack.com/
– https://hangops.slack.com/
ID: millerjl1701
55 Open slide master to edit
What We Do:
Infrastructure Team – HPC Core Ops Group
As part of the National Center for Computational
Sciences (NCCS), the HPC Core Ops group provides all
the necessary infrastructure services, networking
support, security oversight, and monitoring analytics
required to keep the OLCF leadership supercomputing
systems healthy.
The Infrastructure Team provides necessary external
services for use by the OLCF HPC resources as well as
other programs and projects supported by NCCS.
CADES provides a compute and data infrastructure
environment to enable the scientific discovery process
for researchers at ORNL and their collaborators.
66 Open slide master to edit
Wouldn’t this be great?
From Deer Standing, by Petr Kratochvil. Retrieved from
https://www.publicdomainpictures.net/pictures/20000/velka/deer-standing.jpg
77 Open slide master to edit
Brownfield Infrastructure
• Preexisting environment
providing production services
• Inventory? What inventory?
• Documentation?
• Compliance?
• Conglomeration of
configuration methods?
• Disaster recovery? Backups?
• etc.
From Dry Agricultural Brown Soil, by George Hodan.
Retrieved from
https://www.publicdomainpictures.net/pictures/220
000/velka/dry-agricultural-brown-soil.jpg
88 Open slide master to edit
Don’t Touch Anything
From Fire in Dumpster, by Ben Watts, 2009. Retrieved from
https://commons.wikimedia.org/wiki/File:Dumpster_Fire_(4088047046).jpg
99 Open slide master to edit
Where to start???
Retrieved from https://www.reddit.com/r/factorio/comments/982cw3/spaghetti_spaghetti/
1010 Open slide master to edit
Bolt – What is this?
“An open source orchestration
tool that automates the manual
work it takes to maintain your
infrastructure”
- Works against local or remote
- Run scripts or commands
- Organized in tasks and plans
- Plans can be written in
Puppet or yaml
- Connects to remote targets
over SSH or WinRM
From https://puppet.com/docs/bolt/latest/bolt.html
1111 Open slide master to edit
Bolt – What can you do?
You probably have a desktop system and/or a
management server…
• Install bolt and start writing a “laptop_config” plan
– Install git and other tools
– Run .dotfiles setup script
• Keep your code in git and commit often
• https://forge.puppet.com/encore/patching
• Start a habit of automate first
• Read Ben Ford’s April 2, 2020 blog post :
https://puppet.com/blog/automating-from-zero-to-
something/
1212 Open slide master to edit
Automate All the Repos
Consider setting up a GitLab instance using bolt and the
Vox Pupuli GitLab puppet module on a system if you
don’t have an instance already.
GitLab and GitLab runners can enable:
- Code review process
- Infrastructure code deployment to a management
server
- Puppet code repositories validation testing and
deployment to Puppet Servers
1313 Open slide master to edit
Provisioning
Razor
”Advanced provisioning
application that can deploy
both bare metal and virtual
systems” by Puppet
- PXE boot management
- Hypervisor deployment
- Automate the hand off to
configuration management
https://github.com/puppetla
bs/razor-server/wiki
Terraform
“a tool for for building,
changing, and versioning
infrastructure safely and
efficiently” by HashiCorp
- Infrastructure as Code
- Terraform creates the VM and
razor provisions
https://www.terraform.io/intro/i
ndex.html
1414 Open slide master to edit
Puppet Agent and Facter
• Facter: Puppet’s system profiling library that is included
with the Puppet Agent package
– Bolt leverages facter to retrieve node facts
– But, for Bolt to use facter, the Puppet agent needs to be
installed
• Enter apply_prep
– Built in Bolt function like run_command, run_script, etc.
– Installs the Puppet agent package if it isn’t already installed
– Collects facts from the node into the running inventory
– This can be an expensive operation…
1515 Open slide master to edit
Puppet Infrastructure
• Using Bolt:
– Install the Puppet Agent on several new VMs
– Install and configure a PuppetCA (and optionally catalog
compile servers)
– Deploy PuppetDB and backend PostgreSQL database
– Reconfigure Puppet Server systems to use PuppetDB
• Using Puppet or Bolt
– Deploy Puppetboard (or alternative) dashboard to PuppetDB
Then…
1616 Open slide master to edit
Puppet Agent Rollout
• Using Bolt:
– Install the Puppet agent on each system (hardware or VM)
– Configure the Puppet agent to register with the Puppet Server
infrastructure
– Then, (this is key) have the Puppet agent configure absolutely
nothing
Yes… Absolutely nothing. Null. Zero. Zilch.
What you have now is a growing inventory that furthers
systems and services discovery.
1717 Open slide master to edit
--noop or noop()
When Puppet is run locally on
the system, a “--noop” flag may
be passed to report what
would change but not actually
change anything.
Similar result with the “noop”
parameter set puppet.conf.
noop() function
Function in the trlinkin-noop
module that sets a scope to
noop
https://forge.puppet.com/trlinki
n/noop
For examples of this working see: Puppet noop, no-noop, and the path
to safe Puppet Deployments, Alessandro Franceschi, 2017.
https://blog.example42.com/2017/12/27/noop-no-noop-and-the-path-to-safe-
puppet-deployments/
1818 Open slide master to edit
Systems Configuration – Iterative Style
• If you haven’t already, `git init`
• What do you want to configure today?
• Leverage a git workflow for puppet code use
– Create branch
– Add puppet code
– Deploy branch to Puppet Servers
• Use bolt to test canary systems using noop
• Find edge cases on the other nodes using noop
• Merge and enforce (i.e. no-noop)
1919 Open slide master to edit
Even better…
Test environment…
- Dedicate Puppet Servers to serve out test code
- Test VMs for types of nodes you support in production
- Consider using a unique environment for testing
instead of a branch against production
- Code dev -> squash -> merge -> cherry pick
2020 Open slide master to edit
Even better better…
Watch:
Multi-node acceptance tests for fun and profit. Trevor
Vaughan, 2019.
https://www.youtube.com/watch?v=4iBEIMQkBCk
2121 Open slide master to edit
Final thoughts…
Implementation takes a willing team.
Learn to trust the process and the tooling.
Trust, but verify.
Be flexible. There will be landmines in the brownfield.
Focus on what can be done rather than shortcomings.
Patience – the iterative process may take a long time…
Notice I didn’t mention Ruby skillz… oops. #facepalm
The Puppet Community.
2222 Open slide master to edit
Questions?

More Related Content

PPTX
Puppet ENC – a ServiceNow Scoped Application; Richard Romanus
PPTX
Team workspaces; Cat Rayburn
PPTX
Eric Sorenson Keynote
PPTX
Automating it management with Puppet + ServiceNow
PDF
Spaghetti devops
PDF
FME World Tour 2016: FME and continuous integration
PDF
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)
PPTX
Connecting Systems Across The Enterprise
Puppet ENC – a ServiceNow Scoped Application; Richard Romanus
Team workspaces; Cat Rayburn
Eric Sorenson Keynote
Automating it management with Puppet + ServiceNow
Spaghetti devops
FME World Tour 2016: FME and continuous integration
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)
Connecting Systems Across The Enterprise

What's hot (20)

PDF
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
PDF
High-Precision GPS Positioning for Spring Developers
PDF
Building a loosely coupled toolchain with Rundeck and Puppet
PDF
The Rules of Network Automation - Interop/NYC 2014
PDF
Virtual Flink Forward 2020: How Streaming Helps Your Staging Environment and ...
PDF
Zoltán Zvara - Advanced visualization of Flink and Spark jobs

PDF
Agnostic Continuous Delivery
PDF
Helium makes Zeppelin fly!
PDF
Kubernetes + Operator + PaaSTA = Flink @ Yelp - Antonio Verardi, Yelp
PDF
The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
PDF
Building Robust Pipelines with Airflow
PPTX
Making Sense of Streaming Sensor Data: How Uber Detects on Trip Car Crashes -...
PPTX
Puppet plugin for vRealize Automation (vRA)
PPTX
Evolving Infrastructure
PDF
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
PDF
Accelerating development velocity of production ml systems with docker
PDF
PuppetConf 2017: The Changing Role of Operations- Michael Stahnke, Puppet
PPTX
OpenStack Nova Liberty Update
PPTX
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
PPTX
Why Architecting for Disaster Recovery is Important for Your Time Series Data...
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
High-Precision GPS Positioning for Spring Developers
Building a loosely coupled toolchain with Rundeck and Puppet
The Rules of Network Automation - Interop/NYC 2014
Virtual Flink Forward 2020: How Streaming Helps Your Staging Environment and ...
Zoltán Zvara - Advanced visualization of Flink and Spark jobs

Agnostic Continuous Delivery
Helium makes Zeppelin fly!
Kubernetes + Operator + PaaSTA = Flink @ Yelp - Antonio Verardi, Yelp
The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
Building Robust Pipelines with Airflow
Making Sense of Streaming Sensor Data: How Uber Detects on Trip Car Crashes -...
Puppet plugin for vRealize Automation (vRA)
Evolving Infrastructure
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
Accelerating development velocity of production ml systems with docker
PuppetConf 2017: The Changing Role of Operations- Michael Stahnke, Puppet
OpenStack Nova Liberty Update
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Why Architecting for Disaster Recovery is Important for Your Time Series Data...
Ad

Similar to Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller (20)

PPTX
Puppetizing Your Organization
PDF
From SaltStack to Puppet and beyond...
PDF
Demystifying puppet
PDF
Puppet Camp Boston 2014: Keynote
PDF
Puppet Keynote by Ralph Luchs
PDF
Puppet Camp Tokyo 2014: Keynote
PPTX
Meet Puppet's new product lineup 12/7/2017
PDF
PuppetConf track overview: Puppet Applied
PDF
Puppet Camp Berlin 2015: Nigel Kersten | Puppet Keynote
PDF
Puppet Camp Berlin 2015: Puppet Keynote
PPT
State of Puppet 2013 - Puppet Camp DC
PDF
Developing IT infrastructures with Puppet
PDF
Puppet overview
PDF
DevOps Automation with Puppet Bolt & Puppet Enterprise
PDF
Puppet Camp London 2014: Keynote
PPTX
Automation for the Modern Enterprise_26oct2017
PPTX
Virtual Puppet Ecosystem Workshop - March 18,2020
PDF
Puppet Keynote: Puppet Camp London
PDF
Puppet - Configuration Management Made Eas(ier)
PDF
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
Puppetizing Your Organization
From SaltStack to Puppet and beyond...
Demystifying puppet
Puppet Camp Boston 2014: Keynote
Puppet Keynote by Ralph Luchs
Puppet Camp Tokyo 2014: Keynote
Meet Puppet's new product lineup 12/7/2017
PuppetConf track overview: Puppet Applied
Puppet Camp Berlin 2015: Nigel Kersten | Puppet Keynote
Puppet Camp Berlin 2015: Puppet Keynote
State of Puppet 2013 - Puppet Camp DC
Developing IT infrastructures with Puppet
Puppet overview
DevOps Automation with Puppet Bolt & Puppet Enterprise
Puppet Camp London 2014: Keynote
Automation for the Modern Enterprise_26oct2017
Virtual Puppet Ecosystem Workshop - March 18,2020
Puppet Keynote: Puppet Camp London
Puppet - Configuration Management Made Eas(ier)
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
Ad

More from Puppet (20)

PPTX
Puppet Community Day: Planning the Future Together
PPTX
The Evolution of Puppet: Key Changes and Modernization Tips
PPTX
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
PPTX
Bolt Dynamic Inventory: Making Puppet Easier
PPTX
Customizing Reporting with the Puppet Report Processor
PPTX
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
PPTX
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
PPTX
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
PDF
Puppet camp2021 testing modules and controlrepo
PPTX
Puppetcamp r10kyaml
PDF
2021 04-15 operational verification (with notes)
PPTX
Puppet camp vscode
PDF
Modules of the twenties
PDF
Applying Roles and Profiles method to compliance code
PPTX
KGI compliance as-code approach
PDF
Enforce compliance policy with model-driven automation
PDF
Keynote: Puppet camp compliance
PPTX
Puppet: The best way to harden Windows
PPTX
Simplified Patch Management with Puppet - Oct. 2020
PPTX
Accelerating azure adoption with puppet
Puppet Community Day: Planning the Future Together
The Evolution of Puppet: Key Changes and Modernization Tips
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Bolt Dynamic Inventory: Making Puppet Easier
Customizing Reporting with the Puppet Report Processor
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet camp2021 testing modules and controlrepo
Puppetcamp r10kyaml
2021 04-15 operational verification (with notes)
Puppet camp vscode
Modules of the twenties
Applying Roles and Profiles method to compliance code
KGI compliance as-code approach
Enforce compliance policy with model-driven automation
Keynote: Puppet camp compliance
Puppet: The best way to harden Windows
Simplified Patch Management with Puppet - Oct. 2020
Accelerating azure adoption with puppet

Recently uploaded (20)

PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
1. Introduction to Computer Programming.pptx
PPT
Teaching material agriculture food technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
August Patch Tuesday
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Getting Started with Data Integration: FME Form 101
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Programs and apps: productivity, graphics, security and other tools
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
1. Introduction to Computer Programming.pptx
Teaching material agriculture food technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
A comparative analysis of optical character recognition models for extracting...
Machine learning based COVID-19 study performance prediction
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Spectroscopy.pptx food analysis technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
Per capita expenditure prediction using model stacking based on satellite ima...
August Patch Tuesday
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Getting Started with Data Integration: FME Form 101
TLE Review Electricity (Electricity).pptx
Network Security Unit 5.pdf for BCA BBA.
gpt5_lecture_notes_comprehensive_20250812015547.pdf

Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller

  • 1. ORNL is managed by UT-Battelle, LLC for the US Department of Energy Iteratively introducing Puppet technologies in the brownfield Jeffrey Miller HPC Linux Systems Engineer HPC Core Ops Group National Center for Computational Sciences
  • 2. 22 Open slide master to edit Citation and Disclaimer This work was supported by the Oak Ridge Leadership Computing Facility (OLCF) and the Computer and Data Environment for Science (CADES) at Oak Ridge National Laboratory (ORNL) for the Department of Energy (DOE) under Prime Contract Number DE-AC05-00OR-22725 This presentation does not contain any proprietary or confidential information.
  • 3. 33 Open slide master to edit Acknowledgements Greg Shutt, CADES Task Lead Cory Stargel, HPC Infrastructure Task Lead Larry Orcutt, HPC Linux Systems Engineer Michael Shute, HPC Linux Systems Engineer James “Jake” Wynne, III, HPC Linux Systems Engineer
  • 4. 44 Open slide master to edit Contact Information Jeffrey Miller Email: [email protected] LinkedIn: https://www.linkedin.com/in/millerjl1701/ GitHub: https://github.com/millerjl1701 On Slack: – https://puppetcommunity.slack.com – https://simp-project.slack.com/ – https://hangops.slack.com/ ID: millerjl1701
  • 5. 55 Open slide master to edit What We Do: Infrastructure Team – HPC Core Ops Group As part of the National Center for Computational Sciences (NCCS), the HPC Core Ops group provides all the necessary infrastructure services, networking support, security oversight, and monitoring analytics required to keep the OLCF leadership supercomputing systems healthy. The Infrastructure Team provides necessary external services for use by the OLCF HPC resources as well as other programs and projects supported by NCCS. CADES provides a compute and data infrastructure environment to enable the scientific discovery process for researchers at ORNL and their collaborators.
  • 6. 66 Open slide master to edit Wouldn’t this be great? From Deer Standing, by Petr Kratochvil. Retrieved from https://www.publicdomainpictures.net/pictures/20000/velka/deer-standing.jpg
  • 7. 77 Open slide master to edit Brownfield Infrastructure • Preexisting environment providing production services • Inventory? What inventory? • Documentation? • Compliance? • Conglomeration of configuration methods? • Disaster recovery? Backups? • etc. From Dry Agricultural Brown Soil, by George Hodan. Retrieved from https://www.publicdomainpictures.net/pictures/220 000/velka/dry-agricultural-brown-soil.jpg
  • 8. 88 Open slide master to edit Don’t Touch Anything From Fire in Dumpster, by Ben Watts, 2009. Retrieved from https://commons.wikimedia.org/wiki/File:Dumpster_Fire_(4088047046).jpg
  • 9. 99 Open slide master to edit Where to start??? Retrieved from https://www.reddit.com/r/factorio/comments/982cw3/spaghetti_spaghetti/
  • 10. 1010 Open slide master to edit Bolt – What is this? “An open source orchestration tool that automates the manual work it takes to maintain your infrastructure” - Works against local or remote - Run scripts or commands - Organized in tasks and plans - Plans can be written in Puppet or yaml - Connects to remote targets over SSH or WinRM From https://puppet.com/docs/bolt/latest/bolt.html
  • 11. 1111 Open slide master to edit Bolt – What can you do? You probably have a desktop system and/or a management server… • Install bolt and start writing a “laptop_config” plan – Install git and other tools – Run .dotfiles setup script • Keep your code in git and commit often • https://forge.puppet.com/encore/patching • Start a habit of automate first • Read Ben Ford’s April 2, 2020 blog post : https://puppet.com/blog/automating-from-zero-to- something/
  • 12. 1212 Open slide master to edit Automate All the Repos Consider setting up a GitLab instance using bolt and the Vox Pupuli GitLab puppet module on a system if you don’t have an instance already. GitLab and GitLab runners can enable: - Code review process - Infrastructure code deployment to a management server - Puppet code repositories validation testing and deployment to Puppet Servers
  • 13. 1313 Open slide master to edit Provisioning Razor ”Advanced provisioning application that can deploy both bare metal and virtual systems” by Puppet - PXE boot management - Hypervisor deployment - Automate the hand off to configuration management https://github.com/puppetla bs/razor-server/wiki Terraform “a tool for for building, changing, and versioning infrastructure safely and efficiently” by HashiCorp - Infrastructure as Code - Terraform creates the VM and razor provisions https://www.terraform.io/intro/i ndex.html
  • 14. 1414 Open slide master to edit Puppet Agent and Facter • Facter: Puppet’s system profiling library that is included with the Puppet Agent package – Bolt leverages facter to retrieve node facts – But, for Bolt to use facter, the Puppet agent needs to be installed • Enter apply_prep – Built in Bolt function like run_command, run_script, etc. – Installs the Puppet agent package if it isn’t already installed – Collects facts from the node into the running inventory – This can be an expensive operation…
  • 15. 1515 Open slide master to edit Puppet Infrastructure • Using Bolt: – Install the Puppet Agent on several new VMs – Install and configure a PuppetCA (and optionally catalog compile servers) – Deploy PuppetDB and backend PostgreSQL database – Reconfigure Puppet Server systems to use PuppetDB • Using Puppet or Bolt – Deploy Puppetboard (or alternative) dashboard to PuppetDB Then…
  • 16. 1616 Open slide master to edit Puppet Agent Rollout • Using Bolt: – Install the Puppet agent on each system (hardware or VM) – Configure the Puppet agent to register with the Puppet Server infrastructure – Then, (this is key) have the Puppet agent configure absolutely nothing Yes… Absolutely nothing. Null. Zero. Zilch. What you have now is a growing inventory that furthers systems and services discovery.
  • 17. 1717 Open slide master to edit --noop or noop() When Puppet is run locally on the system, a “--noop” flag may be passed to report what would change but not actually change anything. Similar result with the “noop” parameter set puppet.conf. noop() function Function in the trlinkin-noop module that sets a scope to noop https://forge.puppet.com/trlinki n/noop For examples of this working see: Puppet noop, no-noop, and the path to safe Puppet Deployments, Alessandro Franceschi, 2017. https://blog.example42.com/2017/12/27/noop-no-noop-and-the-path-to-safe- puppet-deployments/
  • 18. 1818 Open slide master to edit Systems Configuration – Iterative Style • If you haven’t already, `git init` • What do you want to configure today? • Leverage a git workflow for puppet code use – Create branch – Add puppet code – Deploy branch to Puppet Servers • Use bolt to test canary systems using noop • Find edge cases on the other nodes using noop • Merge and enforce (i.e. no-noop)
  • 19. 1919 Open slide master to edit Even better… Test environment… - Dedicate Puppet Servers to serve out test code - Test VMs for types of nodes you support in production - Consider using a unique environment for testing instead of a branch against production - Code dev -> squash -> merge -> cherry pick
  • 20. 2020 Open slide master to edit Even better better… Watch: Multi-node acceptance tests for fun and profit. Trevor Vaughan, 2019. https://www.youtube.com/watch?v=4iBEIMQkBCk
  • 21. 2121 Open slide master to edit Final thoughts… Implementation takes a willing team. Learn to trust the process and the tooling. Trust, but verify. Be flexible. There will be landmines in the brownfield. Focus on what can be done rather than shortcomings. Patience – the iterative process may take a long time… Notice I didn’t mention Ruby skillz… oops. #facepalm The Puppet Community.
  • 22. 2222 Open slide master to edit Questions?