























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 95
This page cannot be seen from the preview
Don't miss anything!
























































































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
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/
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
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.
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
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) { }
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.
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
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()
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
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.
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
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
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.