PrepIQ Puppet Program Ultimate Exam, Exams of Technology

The PrepIQ Puppet Program Ultimate Exam prepares IT professionals to master infrastructure automation and configuration management using Puppet. Candidates explore automation frameworks, configuration deployment, server provisioning, code management, orchestration, security controls, and DevOps best practices. This comprehensive resource helps learners develop practical skills for managing scalable and reliable enterprise environments.

Typology: Exams

2025/2026

Available from 06/25/2026

shilpi-jain-2
shilpi-jain-2 🇮🇳

1

(1)

25K documents

1 / 50

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
PrepIQ Puppet Program
Ultimate Exam
**Question 1. Which component stores compiled catalogs before they are sent to
agents?**
A) PuppetDB
B) Puppetmaster’s cache directory
C) Hiera backend
D) Facter daemon
Answer: B
Explanation: The Puppet master (primary server) writes compiled catalogs to its
local cache directory before delivering them to agents.
**Question 2. In Puppet’s SSL workflow, which file is created on the agent after a
successful certificate signing request?**
A) /etc/puppetlabs/puppet/ssl/private_keys/agent.pem
B) /etc/puppetlabs/puppet/ssl/certs/ca.pem
C) /etc/puppetlabs/puppet/ssl/public_keys/agent.pem
D) /etc/puppetlabs/puppet/ssl/requests/agent.pem
Answer: A
Explanation: After the CA signs the agent’s CSR, the agent receives its private key
(agent.pem) stored in the private_keys directory.
**Question 3. Which fact does Facter provide by default on a Linux system?**
A) osfamily
B) puppet_version
C) modulepath
D) hiera_config
Answer: A
Explanation: `osfamily` is a built-in fact that indicates the operating system family
(e.g., RedHat, Debian).
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

Partial preview of the text

Download PrepIQ Puppet Program Ultimate Exam and more Exams Technology in PDF only on Docsity!

Ultimate Exam

Question 1. Which component stores compiled catalogs before they are sent to agents? A) PuppetDB B) Puppetmaster’s cache directory C) Hiera backend D) Facter daemon Answer: B Explanation: The Puppet master (primary server) writes compiled catalogs to its local cache directory before delivering them to agents. Question 2. In Puppet’s SSL workflow, which file is created on the agent after a successful certificate signing request? A) /etc/puppetlabs/puppet/ssl/private_keys/agent.pem B) /etc/puppetlabs/puppet/ssl/certs/ca.pem C) /etc/puppetlabs/puppet/ssl/public_keys/agent.pem D) /etc/puppetlabs/puppet/ssl/requests/agent.pem Answer: A Explanation: After the CA signs the agent’s CSR, the agent receives its private key (agent.pem) stored in the private_keys directory. Question 3. Which fact does Facter provide by default on a Linux system? A) osfamily B) puppet_version C) modulepath D) hiera_config Answer: A Explanation: osfamily is a built-in fact that indicates the operating system family (e.g., RedHat, Debian).

Ultimate Exam

Question 4. To create a custom external fact named myenv, which directory and file naming convention should you use? A) /etc/facter/facts.d/myenv.txt B) /opt/puppetlabs/facter/myenv.yaml C) /etc/puppetlabs/facter/facts.d/myenv.rb D) /var/lib/puppet/facts.d/myenv.json Answer: A Explanation: External facts are read from plain-text files in /etc/facter/facts.d/; each file name becomes the fact name. Question 5. In a typical hiera.yaml hierarchy, which level has the highest precedence? A) common.yaml B) %{environment}.yaml C) node/%{trusted.certname}.yaml D) defaults.yaml Answer: C Explanation: Hiera looks up keys from top to bottom; specific node files are evaluated before broader environment or common files. Question 6. Which resource type is used to manage a system package on both Debian and RedHat families without specifying the provider? A) package B) yumrepo C) apt_key D) service Answer: A Explanation: The package resource abstracts the underlying package manager; Puppet selects the appropriate provider (apt, yum, etc.) automatically.

Ultimate Exam

A) if B) unless C) case D) selector Answer: B Explanation: unless runs the block only when the condition is false; it is the inverse of if. Question 11. To guarantee that a service starts after a package is installed, which relationship attribute should you use? A) before => Package['httpd'] B) require => Package['httpd'] C) notify => Package['httpd'] D) subscribe => Package['httpd'] Answer: B Explanation: require creates a dependency that ensures the service resource runs after the package resource. **Question 12. Which of the following is a built-in defined resource type in Puppet? ** A) file_line B) exec C) user D) augeas Answer: A Explanation: file_line is a defined type provided by the stdlib module; exec, user, and augeas are native resource types. Question 13. In an ERB template, which delimiter is used to output the value of a variable?

Ultimate Exam

A) <%= %>

B) <% %>

C) <%# %>

D) <%= -%>

Answer: A Explanation: <%= variable %> evaluates the Ruby expression and inserts its result into the rendered file. Question 14. When using an EPP template, which function retrieves a variable passed from the manifest? A) $variable B) $facts['variable'] C) $::variable D) $::epp('variable') Answer: A Explanation: EPP templates have direct access to variables defined in the calling manifest via $variable. Question 15. Which Puppet function iterates over a hash and returns an array of transformed values? A) each B) map C) filter D) reduce Answer: B Explanation: map applies a block to each element and collects the results into an array. Question 16. What file in a module defines its metadata, including version and dependencies? A) metadata.json

Ultimate Exam

B) Minitest C) Test-Kitchen D) Beaker Answer: A Explanation: rspec-puppet provides a DSL for writing unit tests for manifests and classes. Question 20. In an r10k configuration, what does the sources key define? A) The list of Puppet modules to install B) The Git repositories that contain environment branches C) The PuppetDB connection parameters D) The hierarchy of Hiera data files Answer: B Explanation: sources maps environment names to Git repository URLs and branch patterns for r10k to deploy. Question 21. Which table in PuppetDB stores exported resources? A) catalogs B) facts C) resources D) exports Answer: C Explanation: Exported resources are stored in the resources table with a special exported flag. Question 22. Which query language is used to retrieve data from PuppetDB? A) SQL B) PQL (Puppet Query Language) C) XPath

Ultimate Exam

D) JSONPath Answer: B Explanation: PQL is a query language designed for PuppetDB to filter catalogs, facts, and exported resources. Question 23. To set the default module path for all environments, which file should you edit? A) environment.conf B) puppet.conf C) hiera.yaml D) site.pp Answer: A Explanation: environment.conf can specify modulepath that applies to the environment it belongs to. Question 24. Which node classification method uses regular expressions to match node hostnames? A) ENC (External Node Classifier) B) site.pp node definitions C) Node Classifier in PE with regex rules D) Hiera lookup with lookup_options Answer: C Explanation: The PE Node Classifier allows regex-based rules to assign classes to matching nodes. Question 25. When a node exports a resource @@file { '/etc/app.conf': ... }, what does the double-at sign signify? A) The resource is stored in the catalog but not applied B) The resource is exported for other nodes to collect C) The resource will be applied only if a condition is true

Ultimate Exam

Answer: A Explanation: A dependency cycle occurs when resources reference each other in a circular manner, preventing a deterministic order. Question 29. Which command validates the syntax of a single manifest file without applying it? A) puppet parser validate manifest.pp B) puppet apply --test manifest.pp C) puppet lint manifest.pp D) puppet validate manifest.pp Answer: A Explanation: puppet parser validate checks the file’s syntax and exits with a non-zero status on errors. Question 30. To encrypt sensitive data in Hiera, which backend is commonly used? A) yaml B) json C) eyaml D) csv Answer: C Explanation: eyaml (Hiera-EYAML) provides public-key encryption for values stored in Hiera data files. Question 31. Idempotency in Puppet means that a manifest… A) Executes faster on subsequent runs B) Produces the same catalog each time regardless of node state C) Can be applied multiple times without changing system state after the first successful run D) Requires explicit refreshonly for all resources

Ultimate Exam

Answer: C Explanation: Idempotent manifests ensure that repeated applications converge to the same desired state without side effects. Question 32. Which tool checks Puppet code against the official style guide? A) puppet-lint B) rubocop C) flake D) shellcheck Answer: A Explanation: puppet-lint analyzes Puppet manifests for style violations and best-practice recommendations. Question 33. In Puppet Enterprise, which component controls which users can edit which modules? A) Role-Based Access Control (RBAC) in the console B) Node Classifier permissions C) PuppetDB ACLs D) Hiera hierarchy rules Answer: A Explanation: PE’s RBAC system defines roles and permissions for code, environments, and console actions. Question 34. Which fact would you query to differentiate between a Debian and an Ubuntu system? A) osfamily B) operatingsystemrelease C) operatingsystem D) architecture Answer: C

Ultimate Exam

Question 38. How can you make a variable available to all nodes regardless of their environment? A) Define it in site.pp at top-scope B) Place it in hiera.yaml under global hierarchy level C) Use $:: prefix in any manifest D) All of the above Answer: D Explanation: Top-scope variables, global Hiera data, and the $:: namespace all expose values globally. Question 39. Which command generates a new module skeleton with PDK? A) pdk new module mymodule B) pdk init mymodule C) pdk create module mymodule D) pdk generate module mymodule Answer: A Explanation: pdk new module creates the standard directory layout and metadata files. Question 40. In a Puppet class, which keyword declares that the class can accept parameters? A) define B) class C) init_params D) parameters Answer: B Explanation: The class keyword can include a parameter list, e.g., class mymodule($param = 'default') {}.

Ultimate Exam

Question 41. Which of the following statements about the facts hash is true? A) Facts are only available during catalog compilation, not at runtime B) Custom facts are stored in /var/lib/puppet/facts.d/ C) The facts hash is automatically merged into the top-scope namespace as $:: variables D) Facts cannot be overridden by Hiera lookups Answer: C Explanation: Each fact becomes a top-scope variable $::fact_name during catalog compilation. Question 42. Which Hiera backend allows you to store data in an external key/value store such as Consul? A) yaml B) json C) consul_kv D) hiera_hash Answer: C Explanation: The consul_kv backend enables lookups against Consul’s key/value store. Question 43. What is the effect of adding --noop to a puppet agent run? A) Forces a full catalog recompilation without applying changes B) Applies changes but does not log them C) Simulates the run, reporting what would change without modifying the system D) Disables SSL verification for the run Answer: C Explanation: --noop (no-operation) runs the catalog in simulation mode, showing potential changes.

Ultimate Exam

Question 47. In a Puppet module, where should you place custom facts to be automatically loaded? A) lib/facter/ B) facts.d/ C) lib/puppet/type/ D) lib/puppet/provider/ Answer: A Explanation: Custom Ruby facts are placed under lib/facter/ within the module’s directory. **Question 48. Which of the following statements about the exec resource is true? ** A) It always runs on every agent run B) It can be guarded by onlyif or unless to enforce idempotency C) It cannot be notified by other resources D) It does not support environment variables Answer: B Explanation: onlyif and unless allow conditional execution, making exec idempotent. Question 49. What does the file { '/etc/hosts': ensure => present, replace => false } declaration do? A) Guarantees the file is created if missing but never overwrites existing content B) Replaces the file on every run with the source content C) Deletes the file if it exists D) Creates a symbolic link to /etc/hosts Answer: A Explanation: replace => false tells Puppet not to overwrite the file if it already exists.

Ultimate Exam

Question 50. Which of the following is the correct way to declare a resource collector for all exported file resources with a specific tag? A) File <<| tag == 'web' |>> B) File <| tag == 'web' |> C) File <<| tag =~ /web/ |>> D) File <| tag =~ /web/ |> Answer: A Explanation: The double-arrow &lt;&lt;| |&gt;&gt; syntax collects exported resources; the condition filters by tag. Question 51. In PuppetDB, which table stores the latest fact set for each node? A) facts B) factsets C) nodes D) catalogs Answer: B Explanation: factsets holds a JSON blob of all facts for a node at a given timestamp; the latest entry represents the current fact set. Question 52. Which environment configuration file can be placed in an environment directory to set the modulepath for that environment only? A) environment.conf B) puppet.conf C) hiera.yaml D) site.pp Answer: A Explanation: environment.conf lives inside an environment directory and can override settings like modulepath.

Ultimate Exam

Question 56. What is the purpose of the puppetlabs/stdlib module? A) Provides additional resource types for managing databases B) Supplies a collection of useful functions and defined types for general use C) Implements a custom certificate authority D) Manages Windows registry entries Answer: B Explanation: stdlib offers functions like ensure_packages, deep_merge, and many others that extend Puppet’s core DSL. Question 57. Which attribute of a package resource ensures that the package is installed at a specific version? A) name => 'httpd' B) ensure => 'present' C) ensure => '2.4.6' D) version => '2.4.6' Answer: C Explanation: Setting ensure to a version string tells Puppet to install that exact package version. Question 58. In a Puppet manifest, what does the ~&gt; operator represent? A) before relationship B) require relationship C) notify relationship (source notifies target) D) subscribe relationship (target subscribes to source) Answer: C Explanation: The ~&gt; arrow creates a notify relationship where the left-hand resource sends a refresh to the right-hand resource on change. Question 59. Which of the following is a correct way to declare a class parameter with a default value?

Ultimate Exam

A) class mymodule($param = 'default') { … } B) class mymodule { $param = 'default' } C) define mymodule($param = 'default') { … } D) class mymodule { param => 'default' } Answer: A Explanation: Parameters are defined in the class header with optional defaults using the = operator. Question 60. Which Puppet setting controls the maximum number of concurrent catalog compilations on the master? A) max_active_requests B) max_requests_per_node C) max_compilation_threads D) max_active_instances Answer: A Explanation: max_active_requests limits simultaneous catalog compilations handled by the master. Question 61. Which of the following is the correct syntax for a Hiera lookup with a default value? A) lookup('mykey', default_value => 'none') B) hiera('mykey', 'none') C) lookup('mykey', { default_value => 'none' }) D) hiera('mykey', default => 'none') Answer: B Explanation: The legacy hiera function takes a key and an optional default value as the second argument. Question 62. What does the puppet agent --test --verbose command do? A) Runs the agent once in the foreground and displays detailed logs