Puppet Install Group Packages



Puppet Install Group Packages

Question: Some new packages need to be installed on all app servers in Stratos DC. Basically Nautilus DevOps team is trying to install some group packages which they want to install using Puppet. Team was working on to develop some Puppet manifests to accomplish the same. Please find below the details of task and complete the same accordingly:

Create a puppet programming file beta.pp under /etc/puppetlabs/code/environments/production/manifests directory on puppet master node i.e on Jump Server. Define a class yum_group in puppet programming code and using puppet yum group resource complete the task as per details mentioned below:

First of all Install puppet module named puppet-yum on puppet master node i.e on Jump Server (this needs to be done manually).

Install group package Security Tools on all puppet agent nodes i.e on all App Servers using your programming file.

Note: Please perform this task using beta.pp only, do not create any separate inventory file.

Please Note :-  Perform the below commands based on your question  server,  user name & other details might differ . So please read task carefully before executing. All the Best 👍


1Go through the folder mentioned in task and create puppet files  

root@jump_host /# cd /etc/puppetlabs/code/environments/production/manifests/

root@jump_host /etc/puppetlabs/code/environments/production/manifests# ll

total 0

root@jump_host /etc/puppetlabs/code/environments/production/manifests#

root@jump_host /etc/puppetlabs/code/environments/production/manifests# vi beta.pp

root@jump_host /etc/puppetlabs/code/environments/production/manifests# cat beta.pp

class yum_group {

    yum::group { 'Security Tools':

      ensure  => present,



node 'stapp01.stratos.xfusioncorp.com', 'stapp02.stratos.xfusioncorp.com', 'stapp03.stratos.xfusioncorp.com' {

  include yum_group


root@jump_host /etc/puppetlabs/code/environments/production/manifests# 

2. Validate the puppet files by below command.refer Video below for clarity )

root@jump_host /etc/puppetlabs/code/environments/production/manifests# puppet parser validate beta.pp

root@jump_host /etc/puppetlabs/code/environments/production/manifests#

3. Login on all  App server  (stapp01stapp02, stapp03 ) & switch to root  user 

root@jump_host /# ssh tony@stapp01

The authenticity of host 'stapp01 (' can't be established.

ECDSA key fingerprint is SHA256:w9cDRojDoclOxdu1W23Ns2HPyANPrDzhk9VfqtTDoJQ.

ECDSA key fingerprint is MD5:a8:3b:55:35:c2:5c:56:76:c8:d0:78:13:7a:4d:8b:e1.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'stapp01,' (ECDSA) to the list of known hosts.

tony@stapp01's password:

[tony@stapp01 ~]$ sudo su -

We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.

    #2) Think before you type.

    #3) With great power comes great responsibility.

[sudo] password for tony:

[root@stapp01 ~]#

4. Run Puppet agent to pull the configuration from puppet server 

[root@stapp01 ~]# puppet agent -tv

Info: Using configured environment 'production'

Info: Retrieving pluginfacts

Info: Retrieving plugin

Info: Retrieving locales

Info: Loading facts

Info: Caching catalog for stapp01.stratos.xfusioncorp.com

Info: Applying configuration version '1624860136'

Notice: /File[/opt/puppetlabs/puppet/cache/lib/facter]/ensure: created

Notice: Applied catalog in 0.09 seconds

[root@stapp01 ~]#

5. Validate the task by running

[root@stapp01 ~]# yum group list  | grep Installed -A 1

Installed Groups:

    Security Tools

 [root@stapp01 ~]#


Please Note :- I have showed only for stapp01
You have to do this in all app server stapp01,stapp02, stapp03. 

6.  Click on Finish & Confirm to complete the task successful

Happy Learning!!!!

Apart from this if you need more clarity,  I have made a  tutorial video on this , 

please go through and share your comments. Like and share the knowledge

Post a Comment


Latest Posts

Kodekloud Server's Login Credentials