How to upgrade your Puppet Enterprise installation, plus how Puppet pro services can help
With the upcoming end of life (EOL) for Puppet Enterprise 3.8 at the end of this year, we’ve been working to inform all customers about the EOL, as well as the upgrade process. These efforts include a webinar, upgrade documentation, and last but not least, our new offering: Puppet Upgrade Services.
Upgrade process overview
Our goal is to help you upgrade your Puppet installation to the most current Puppet Enterprise release so you can take advantage of the newest capabilities and technology and have full confidence that your current Puppet code will continue to work as expected.
The high-level upgrade workflow is as follows:
Update classification (if on Puppet Enterprise <=3.3).
Update your code for the Puppet 4 Parser (Used in Puppet Enterprise version >= 2015.x).
- Use a PE 3.8 “diff rig” with the catalog-preview module as detailed in the code update workflow to give you a list of Puppet code to update.
- Set up the new Puppet infrastructure you’ll migrate to.
- Install with existing certificates to retain trust.
- Migrate and test your existing agents on the new infrastructure.
- Use canary nodes and the noop function to validate before migrating all nodes and turning off noop.
- Once everything is working as expected, upgrade your agents to the all-in-one (AIO) Puppet agent.
- Puppet-agent module greatly simplifies this.
This workflow is the result of many successful professional services engagements, and quite a bit of professional services internal development time. We’re making it public because it’s a high priority for us to have everyone take advantage of all great new stuff we’re building.
Services can help
As you can see, we’re working hard to remove the mystery and uncertainty around 3.x->4.x upgrades. While we’ve done a lot to make the upgrade process clearer for those who want to tackle it on their own, we also offer upgrade services for customers who want a little — or a lot — of help.
Our primary goal with services is to prepare customers to succeed with Puppet Enterprise on their own. By focusing on training, knowledge transfer, and hands-on enablement activities, we deliver the knowledge, skills, and confidence to move your team forward on its own.
Puppet Upgrade Services are no different. Our default is to offer as much time as it takes to give teams the confidence to upgrade on their own. If needed, however, we can also do the upgrade for you.
Our upgrade services can dramatically reduce the uncertainty and risk associated with an upgrade. We can drastically shorten the time to ramp up your team, reduce the risk of the upgrade itself, and get you there faster so you can take advantage of all the new features and capabilities in Puppet Enterprise.
Overview of upgrade services process
The process from contacting sales to completing the upgrade is outlined below.
Contact Puppet Sales to inquire about Upgrade Services.
Participate in a scoping call to discuss your environment and expectations so we can tailor the statement of work (SOW) to your situation. The scoping call will focus on specific areas we’ve found to cause the biggest variability in upgrade services duration and cost. Most upgrade service engagements are somewhere between two and six weeks. Here are some examples of what determines the duration:
- Your expectations for who will do the work. Will Puppet engineers enable your team, or do all the work?
- The amount of Puppet code you’ve got. Do you use 20 modules or 200?
- The level of risk. How mission-critical is Puppet at your organization? Can we run in noop for a few days, or does the cutover need to be perfect?
- Pre-engagement logistics: scheduling, pre-engagement requirements, prep call(s) with Puppet professional service engineer (PSE).
- Time on site
- Kickoff and discovery. This may range from a few hours for a short engagement to one to two weeks for a very large or complex upgrade. The kickoff and discovery phase focuses on meeting with your subject matter experts; ensuring infrastructure is available; assessing code; and generally making sure we have the information, contacts, and infrastructure for the follow-on stages to succeed.
- Future infrastructure setup. At a minimum, this is setting up the 3.8 “diff rig” which will be used in the code update portion, but may also include setup of the new Puppet Enterprise 2015-plus master infrastructure.
- Code update. Working through the workflow so that existing modules and manifests have the same resultant catalog on the new parser. On a short engagement, this may mean one to two days of paired development to teach your team the process. At the extreme end, we have spent 6 months or more updating a large legacy code base.
- Setup and cutover to new infrastructure. Set up the new production-ready Puppet Enterprise 2015-plus infrastructure by migrating the certificate authority so agents will trust the new system. Various other items are also set up or migrated, such as databases, Code Management configuration, etc. Depending on customer risk tolerance, we cut over all or a set of canary nodes to the new Puppet Enterprise 2015-plus infrastructure with noop turned on. This allows a final check that things are continuing to work as expected (i.e., no changes) before turning off noop.
- Upgrade agents. The final step is to get the Puppet 3.x agents upgraded to the new all-in-one Puppet agent.
The above is meant to give a sense of what your services might look like. Every upgrade engagement is scoped so that we can make sure we’re aware of your specific situation and expectations.
- Want us out for a week to run through the process quickly so your team has confidence? No problem.
- Want us to come back out for your cutover to the new infrastructure? We can do that too.
- Got no time and need us to do it all? Sure.
- Something in between? Just let us know.
Remember, you don’t have to do it all by yourself. We’re here to help. Leveraging best-in-class methodology and tooling, our professional services team can help simplify the process so your upgrade is completed faster, at a lower cost and with much less risk.
Download the data sheet to learn more about Puppet Upgrade Services.
Owen Rodabaugh manages methodologies, offerings, and the development of the upgrade workflow and service offering.
- Haven't tried Puppet Enterprise yet? Download our free Learning VM and follow a series of quests designed to get you acquainted with Puppet Enterprise.