Best Practices by a Support Professional – Product Maintenance

Chef recognized for the #1 tech support in the industry – voted by Chef users on G2. What’s the secret ingredient to our technical support? Our people. We have industry experts who understand customer pain points and offer solutions to improve their experience. Our team is dedicated to our customers, and their goal is to provide outstanding solutions. This blog offers a few of our best practices to follow while going for upgrades or backup/restore of Chef products like Infra server, Infra client, and Automate

Why Upgrading your software is essential: 

As systems age, you may need more support options and availability. It is essential to ensure you do not fall under the category of no support if something goes wrong. When you lack support, there is no longer a “quick fix” solution, and upgrading before you are unsupported will help avoid having to rush the process to fix an error. Outdated software can threaten your company’s data, systems, and overall bottom line, and not upgrading your software can leave you open to hackers with criminal intent. 

When going for any upgrade, the backup and restore process of the product must be tested, and the latest full backup must be taken. Always do a complete capacity planning of the target version taking your node count and client run frequency into consideration to ensure the upgrade is successful, and the products keep functioning as expected after the upgrade. The upgrade prerequisite checklist also includes checking the hardware and software requirements of the target version.  

Chef Infra Server 

Periodic backups of Chef Infra Server are essential to managing and maintaining a healthy configuration and ensuring the availability of critical data for restoring your system if required. Or the majority of use cases, chef-server-ctl backup is the recommended way to take backups of the Chef Infra Server. However, it will result in a brief downtime of the infra server as it requires a chef-server-ctl reconfigure to be run before running the command, which may cause downtime. Additionally, it shuts down the system while taking the backup so that the backup is consistent; things are not changing. If your Chef Infra Server is configured with an external PostgreSQL database, use knife ec backup instead. Also, running knife tidy in regular intervals deletes obsolete nodes from the system, which keeps the backup size to a minimum. 

Chef Infra Client 

Before going for a chef-client upgrade, it is essential to evaluate whether your existing cookbooks will be compatible with the latest Chef Infra Client and other cookbook versions. You should know how to use the tools provided in Chef Workstation, like cookstyle and Test Kitchen, to quickly iterate on and test those cookbooks against a target release. We recommend working through any changes needed for one cookbook at a time, not all cookbooks and nodes simultaneously. When you find issues in the cookbooks, it is recommended to fix them, and those fixes can be applied to the other cookbooks containing the same pattern. Refer to this support link article for details. 

Chef Automate 

Backups are crucial for protecting your data from catastrophic loss, and it is also essential to prepare a recovery procedure. By default, Chef Automate stores backups to the filesystem in the directory /var/opt/chef-automate/backups. You can also configure Chef Automate to store backups in AWS S3 buckets or Google Cloud Storage (GCS) buckets. Ensure that all the automated services are up and running before attempting an upgrade/backup. 

It would be best if you referred to the Upgrade matrix to determine a plan for the upgrade. Your drive should have at least sixty percent free space to start the major version upgrade. The new host should meet the prerequisites before restoring Automate and its backup.  

Upgrading requires mandatory testing. We recommend extensive testing in a lower environment before any upgrades in the production environment. 

Related Knowledge Articles for the above content:

Chef has been awarded Best Relationship, Best Support, and Easiest Doing Business With from our Users on G2. Find out how we can help your organization accelerate the DevSecOps journey. 


Bharath Kumar Mopuri

Bharath Kumar M is a Principal Technical Support Engineer at Progress Chef. 

Abinash Prusty

Abinash Prusty is a Senior Customer Product Specialist at Progress Chef.