Puppet Interview Questions
Puppet Interview Questions
Q. What is Puppet?
Puppet is a configuration Tool which is use to automate administration tasks.Puppet Agent(Client) sends request to Puppet Master (Server) and Puppet Master Push Configuration on Agent.
Q. What is Manifests?
Manifests, in Puppet, are the files in which the client configuration is specified.
Q. What is Module and How it is different from Manifest?
Whatever the manifests we defined in modules, can call or include into other manifests. Which makes easier management of Manifests.It helps you to push specific manifests on specific Node or Agent.
Q. Command to check requests of Certificates?
puppetca –list (2.6)
puppet ca list (3.0)
Q. Command to sign Requested Certificates
puppetca –sign hostname-of-agent (2.6)
puppet ca sign hostname-of-agent (3.0)
Q. Where Puppet Master Stores Certificates
Q. What is Facter?
Sometime you need to write manifests on conditional experession based on agent specific data which is available through Facter. Facter provides information like Kernel version,Dist release, IP Address, CPU info and etc.You can defined your facter also.
Q. What is the use of etckeeper-commit-post and etckeeper-commit-pre on Puppet Agent ?
etckeeper-commit-post: In this configuration file you can define command and scripts which executes after pushing configuration on Agent
Etckeeper-commit-pre: In this configuration file you can define command and scripts which executes before pushing configuration on Agent
Q. What is Puppet Kick?
By default Puppet Agent request to Puppet Master after a periodic time which known as “runinterval”. Puppet Kick is a utility which allows you to trigger Puppet Agent from Puppet Master.
Q. What is MCollective?
MCollective is a powerful orchestration framework. Run actions on thousands of servers simultaneously, using existing plugins or writing your own.
Q. Describe the most significant gain you made from automating a process through Puppet?
“I automated the configuration and deployment of Linux and Windows machines using Puppet. In addition to shortening the processing time from one week to 10 minutes, I used the roles and profiles paradigm and documented the purpose of each module in README to ensure that others could update the module using Git. The modules I wrote are still being used, but they’ve been improved by my teammates and members of the community.”
Q. Tell me about a time when you used collaboration and Puppet to help resolve a conflict within a team?
The development team wanted root access on test machines managed by Puppet in order to make specific configuration changes. We responded by meeting with them weekly to agree on a process for developers to communicate configuration changes and to empower them to make many of the changes they needed. Through our joint efforts, we came up with a way for the developers to change specific configuration values themselves via data abstracted through Hiera. In fact, we even taught one of the developers how to write Puppet code in collaboration with us.”
Q. Which open source or community tools do you use to make Puppet more powerful?
Changes and requests are ticketed through Jira and we manage requests through an internal process. Then, we use Git and Puppet’s Code Manager app to manage Puppet code in accordance with best practices. Additionally, we run all of our Puppet changes through our continuous integration pipeline in Jenkins using the beaker testing framework.”