[PP] Puppet Program Certification Exam Guide, Exams of Technology

A complete exam guide focused on automation and configuration management using Puppet technologies. It provides structured learning modules, real-world scenarios, exam-style questions, and expert insights to help candidates understand infrastructure automation, scripting concepts, and system deployment workflows.

Typology: Exams

2025/2026

Available from 02/18/2026

shilpi-jain-3
shilpi-jain-3 🇮🇳

2.5

(11)

80K documents

1 / 95

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
[PP] Puppet Program Certification
Exam Guide
Question 1. Which component in the Puppet architecture is responsible for
compiling node catalogs?
A) Puppet Agent
B) Puppet Master
C) Facter
D) PuppetDB
Answer: B
Explanation: The Puppet Master receives facts from the agent, compiles the
catalog based on manifests and modules, and returns it to the agent.
Question 2. In Puppet’s declarative model, what does idempotency
guarantee?
A) Resources are applied in alphabetical order
B) The same catalog can be applied repeatedly without changing the system
after convergence
C) All resources are applied simultaneously
D) Only the first run makes changes, subsequent runs are ignored
Answer: B
Explanation: Idempotency means applying the same catalog multiple times
will not cause additional changes once the desired state is reached.
Question 3. Which of the following is a fact that Facter collects by default?
A) puppet_version
B) osfamily
C) module_path
D) environment
Answer: B
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f

Partial preview of the text

Download [PP] Puppet Program Certification Exam Guide and more Exams Technology in PDF only on Docsity!

Exam Guide

Question 1. Which component in the Puppet architecture is responsible for compiling node catalogs? A) Puppet Agent B) Puppet Master C) Facter D) PuppetDB Answer: B Explanation: The Puppet Master receives facts from the agent, compiles the catalog based on manifests and modules, and returns it to the agent. Question 2. In Puppet’s declarative model, what does idempotency guarantee? A) Resources are applied in alphabetical order B) The same catalog can be applied repeatedly without changing the system after convergence C) All resources are applied simultaneously D) Only the first run makes changes, subsequent runs are ignored Answer: B Explanation: Idempotency means applying the same catalog multiple times will not cause additional changes once the desired state is reached. Question 3. Which of the following is a fact that Facter collects by default? A) puppet_version B) osfamily C) module_path D) environment Answer: B

Exam Guide

Explanation: Facter gathers system information such as osfamily, operatingsystem, ipaddress, etc., which are used in manifests. Question 4. What is the default file extension for an Embedded Puppet (EPP) template? A) .erb B) .epp C) .pp D) .tmpl Answer: B Explanation: EPP templates use the .epp extension and are parsed by the Puppet parser. Question 5. Which relationship metaparameter ensures that a resource runs only after another resource has successfully completed? A) notify B) before C) require D) subscribe Answer: C Explanation: The require metaparameter creates a hard dependency, guaranteeing the required resource runs first. Question 6. In a Puppet module, where should the main class be defined by convention? A) manifests/init.pp B) manifests/main.pp C) lib/puppet/functions/

Exam Guide

C) YAML

D) CSV

Answer: C Explanation: Hiera’s default backend uses YAML files to store hierarchical key/value data. Question 10. In Hiera, what does the “lookup_options” key control? A) Encryption algorithm for data B) Merge behavior for hierarchical lookups C) File path of the data source D) Default value for missing keys Answer: B Explanation: lookup_options defines how values are merged (e.g., deep, hash, array) during lookups. Question 11. Which Puppet feature allows you to run tasks on nodes without an installed agent? A) PuppetDB B) Puppet Enterprise Console C) Puppet Bolt D) r10k Answer: C Explanation: Bolt executes ad-hoc tasks and plans over SSH or WinRM, bypassing the need for an agent. Question 12. What is the purpose of the environment setting in puppet.conf? A) Define the SSL certificate directory

Exam Guide

B) Specify the directory environment (e.g., production, development) to use for code lookup C) Set the default logging level D) Choose the Ruby interpreter version Answer: B Explanation: The environment parameter tells the agent which directory environment’s code to request from the master. Question 13. Which PuppetDB query language is used to retrieve information about exported resources? A) SQL B) PQL (Puppet Query Language) C) XPath D) Grep Answer: B Explanation: PQL is PuppetDB’s native query language for searching facts, catalogs, and exported resources. Question 14. When using the file resource with source => 'puppet:///modules/mymodule/config.conf', where does Puppet look for the file? A) In the module’s files/ directory on the master B) In the agent’s /etc/puppetlabs/code/ directory C) In the master’s /var/lib/puppet directory D) In the module’s templates/ directory Answer: A Explanation: puppet:///modules/... paths reference files placed under the module’s files/ directory on the master.

Exam Guide

Explanation: The standard layout includes manifests, files, templates, lib, and tests, but not a scripts/ directory. Question 18. What is the default value of the runinterval setting for Puppet agents? A) 30 minutes B) 60 minutes C) 15 minutes D) 45 minutes Answer: B Explanation: By default, agents check in with the master every 60 minutes. Question 19. Which Puppet function can be used to merge two hashes in a manifest? A) merge() B) deep_merge() C) hash_merge() D) combine() Answer: B Explanation: deep_merge() merges two hash structures recursively, preserving nested keys. Question 20. When using the package resource on a RedHat-based system, which provider does Puppet select by default? A) apt B) yum C) dnf D) zypper

Exam Guide

Answer: B Explanation: On RedHat families, Puppet’s default package provider is yum (or dnf on newer releases, but yum remains the default provider name). Question 21. Which Puppet Enterprise feature provides a web-based UI for node classification, reporting, and code deployment? A) Puppet Agent B) PuppetDB C) PE Console D) r10k Answer: C Explanation: The PE Console is the graphical interface for managing nodes, environments, and modules. Question 22. In a Puppet manifest, what does the ensure => present attribute typically indicate for a file resource? A) The file must be deleted B) The file must exist with default permissions C) The file must have a specific content hash D) The file must be a directory Answer: B Explanation: ensure => present ensures the file exists; if it does not, Puppet creates it with default attributes. Question 23. Which of the following is a correct way to declare a class with parameters? A) class myclass { $param = $value } B) class myclass($param = $value) { }

Exam Guide

B) Run arbitrary shell commands C) Install packages D) Create symbolic links Answer: B Explanation: exec allows execution of custom commands or scripts on the target node. Question 27. Which of the following statements about Puppet environments is FALSE? A) Environments isolate code versions for different node groups B) Nodes can switch environments without changing the master’s configuration C) Environments are defined as separate directories under /etc/puppetlabs/code/environments D) Environments share the same module path by default Answer: B Explanation: Nodes must be assigned an environment via the master’s configuration or ENC; they cannot arbitrarily switch without configuration changes. Question 28. What does the puppet module install command do? A) Installs a Puppet agent on a node B) Downloads and installs a module from the Puppet Forge into the local modulepath C) Compiles a catalog for a node D) Validates a module’s syntax Answer: B Explanation: The command fetches a module from the Forge (or a specified source) and places it in the appropriate directory.

Exam Guide

Question 29. Which metaparameter would you use to ensure that a service restarts only when a related file resource changes? A) require B) before C) subscribe D) notify Answer: C Explanation: subscribe creates a relationship where the service receives a refresh event if the subscribed file changes. Question 30. In a Puppet manifest, which control structure is used for multiple conditional branches based on a single variable’s value? A) if/elsif/else B) case C) unless D) selector Answer: B Explanation: case evaluates a variable against multiple possible values, providing distinct branches. Question 31. Which command is used to deploy code from a Git repository to a Puppet environment using r10k? A) r10k deploy environment -p B) r10k sync code C) r10k deploy module -p D) r10k deploy environment production Answer: A

Exam Guide

D) "Failed to apply catalog: resource type not found" Answer: B Explanation: SSL handshake errors indicate certificate issues during the agent-master communication. Question 35. Which Puppet resource type would you use to manage a system user account? A) user B) account C) person D) login Answer: A Explanation: The user resource type creates, modifies, or removes user accounts on the node. Question 36. In Hiera, what does the :priority: merge strategy do? A) Merges arrays by appending B) Merges hashes recursively C) Returns the first found value according to hierarchy order D) Concatenates strings from all levels Answer: C Explanation: :priority: (the default) selects the first value found in the hierarchy, ignoring lower levels. Question 37. Which Puppet function can be used to generate a random password of a specified length? A) random_password() B) generate_password()

Exam Guide

C) pw_hash() D) create_password() Answer: A Explanation: random_password(length) returns a randomly generated string of the given length. Question 38. What is the purpose of the puppet resource command? A) Compile a catalog for a node B) Query and display the current state of a resource on the local system C) Install a module from the Forge D) Run a Puppet plan Answer: B Explanation: puppet resource shows the resource’s attributes as they currently exist on the node. Question 39. Which of the following statements about the file resource’s source attribute is TRUE? A) It can only reference local files on the agent B) It can reference multiple sources using an array, trying each in order C) It automatically creates a symbolic link to the source file D) It must always be a fully qualified URL (http/https) Answer: B Explanation: source => ['puppet:///modules/a/file', 'puppet:///modules/b/file'] tries each source sequentially until one succeeds. Question 40. In Puppet, what does the term “catalog” refer to? A) The list of all installed modules on the master B) A compiled JSON document describing the desired state for a node

Exam Guide

A) puppet agent --fingerprint B) puppet cert list --all C) puppet agent --sslprint D) puppet cert print Answer: D Explanation: puppet cert print outputs the certificate, including its fingerprint. Question 44. What is the effect of setting environment_timeout = 0 in puppet.conf? A) Environments never expire; agents always use the same environment until reconfigured B) Environments are refreshed on every run, allowing dynamic changes C) Agents will ignore the environment setting altogether D) Puppet will disable all environment isolation features Answer: B Explanation: A timeout of 0 forces the master to re-evaluate the node’s environment on every request. Question 45. Which of the following is NOT a built-in Puppet function? A) flatten B) regsubst C) sha256 D) install_package Answer: D Explanation: install_package is not a native function; package management is done via the package resource type.

Exam Guide

Question 46. In Puppet, what does the filebucket feature provide? A) Central storage for file backups and versioned snapshots B) A secure location for storing SSL keys C) A repository for custom modules D) An API for remote file retrieval Answer: A Explanation: The filebucket stores copies of files that have been replaced or removed, enabling retrieval of previous versions. Question 47. Which of the following statements best describes a “role” in the roles-and-profiles pattern? A) It defines a reusable set of low-level resources (e.g., packages) B) It represents a high-level node classification such as “webserver” or “database” C) It is a Puppet function that returns a Boolean value D) It describes the operating system version of a node Answer: B Explanation: Roles group profiles to define the overall purpose of a node (e.g., role::web). Question 48. Which command will list all available Puppet environments on the master? A) puppet environment list B) puppet config print environmentpath C) puppet master --list-environments D) puppet status --environments Answer: B

Exam Guide

D) service { 'name': status => stopped } Answer: A Explanation: The command reflects the current state, showing ensure => stopped for a non-running service. Question 52. Which of the following is the correct way to declare a notify resource that sends a message to the console? A) notify { 'Hello world': } B) exec { 'notify': command => '/bin/echo Hello world' } C) file { '/tmp/message': content => 'Hello world' } D) service { 'notify': ensure => running } Answer: A Explanation: The notify resource simply prints a message to the console during catalog application. Question 53. In Puppet, what does the audit metaparameter allow you to do? A) Track changes to a resource’s attribute without enforcing it B) Force a resource to be re-applied on every run C) Log the resource’s output to a file D) Encrypt the resource’s values in the catalog Answer: A Explanation: audit => attribute records the current value of the attribute in reports but does not enforce a desired state. Question 54. Which of the following statements about PuppetDB’s facts table is TRUE? A) Facts are stored as raw JSON strings only

Exam Guide

B) Each node’s facts are stored as separate rows keyed by fact name C) PuppetDB does not store facts; they are kept on the master only D) Facts are automatically encrypted at rest Answer: B Explanation: PuppetDB stores each fact as a separate row with node, name, and value columns, enabling efficient queries. Question 55. Which of the following is a valid way to create a new Hiera hierarchy level that applies only to nodes in the production environment? A) Add production.yaml under hierarchy: in hiera.yaml B) Set environment: production in puppet.conf C) Create a directory production/ under the module path D) Define lookup_options with environment => production Answer: A Explanation: Adding a file named production.yaml as a level in the hierarchy will be consulted for nodes in that environment. Question 56. What is the default file mode for a file resource created with ensure => file and no explicit mode attribute? A) 0644 B) 0755 C) 0600 D) 0777 Answer: A Explanation: Puppet defaults to 0644 permissions for files unless overridden.