Chef Configuration Management Interview Questions and Answers Part – 5

Why do we make a new cookbook dependent upon one or more different cookbooks?

  • So that we don’t breach copyright
  • So that we can make use of Berkshelf
  • So we can avoid having to duplicate code (Ans)
  • So that we can manage a node running Linux
  • So that we can upload the cookbook to Chef Server

Why should we always encrypt credentials which are stored in data bags?

  • We cannot create un-encrypted values on Chef Server.
  • So that we do not expose sensitive passwords in plaintext (Ans)
  • Some cookbooks, like apt, require encrypted credentials.
  • We don’t need to encrypt credentials, Chef does this automatically.
  • Berkshelf will not upload cookbooks containing unencrypted data bag values.

Why are hard-coded values in a Chef recipe or template a bad idea?

  • Some platforms (like Windows) don’t support hard-coded values.
  • They increase processing time.
  • From version 12 onwards, Chef does not support hard-coded values.
  • They make the code inflexible and not reusable. (Ans)
  • They are a good idea as they reduce processing time.

When using the ChefDK to generate a new recipe, do you need to specify the .RB file extension?

  • Yes, but only if you’re running Windows.
  • No, Visual Studio Code does this automatically.
  • Yes, otherwise you can’t edit the file.
  • No, all files in a Chef repository automatically use the .RB file extension.
  • No, CHEF GENERATE does this automatically. (Ans)

What is Chocolatey?

  • It is an open-source package provider for Windows. (Ans)
  • It is a community utility provided with the ChefDK.
  • It is a platform for running virtual machines.
  • It is a PowerShell module.
  • It is the code name for the latest build of Windows 10.

Which Test Kitchen provisioner should we use when the target platform is Windows?

  • Vagrant
  • Gem
  • Chef Zero Scheduled Task (Ans)
  • Chef Zero
  • –local-mode

What should you do if “kitchen converge” encounters an error?

  • Use a different Test Kitchen provisioner
  • Use “kitchen destroy”
  • Remediate the error and run “kitchen converge” again (Ans)
  • Nothing – errors are expected
  • Upload the cookbook into production

How do you specify different attributes so that your cookbook will work with Vagrant/Test Kitchen?

  • Use override attributes in the vagrantfile
  • Create [default][kitchen] attributes in the cookbook’s default.rb attributes file
  • Use override attributes in the cookbook’s .kitchen.yml file (Ans)
  • Chef Zero will automatically modify any attributes needed.

How do you use a Chef resource which is defined in a different cookbook?

  • Use the include_cookbook Chef resource in your own cookbook
  • Create a dependency on the external cookbook in your cookbook’s metadata.rb file (Ans)
  • You should always re-create Chef functionality from scratch in each cookbook.
  • Use GEM INSTALL to download the cookbook to the ChefDK

Why do we need to install the WinRM plugin for Vagrant?

  • We don’t – Vagrant does not support WinRM.
  • To connect to a Vagrant box running Windows using WinRM (Ans)
  • Because Vagrant talks to VirtualBox using WinRM
  • To connect to a Vagrant box running Ubuntu using WinRM
  • So that Vagrant can populate the PATH variable

When creating a new Chef role using “knife role from file”, in what format should the source file be?

  • Ruby
  • JSON (Ans)
  • Erlang
  • XML
  • TXT

Why is the Chef Server name important?

  • The server name must be unique as it is accessible over the Internet
  • The trial license is bound to the server name
  • The name is written to the server certificate – if there is a mismatch clients cannot connect (Ans)
  • The Chef Server name isn’t important at all

What describes a technical process which gives the same result each time?

  • Omnipotent
  • Impotent
  • Idempotent (Ans)
  • Potentate

When accessing the Chef Management Console via a browser, why might you see a certificate error?

  • You forgot to run “opscode-manage-reconfigure”
  • You are using a URL which is different to the Chef server name (Ans)
  • You need to purchase a certificate from a Certificate Authority
  • The Management Console has been incorrectly installed

What do you use to install the Azure PowerShell modules?

  • Microsoft Web Platform Installer (Ans)
  • sudo apt-get install
  • Microsoft OneGet
  • Microsoft Azure CLI

We can use SSH to bootstrap the Chef Client onto a Linux node. What do we use for Windows nodes?

  • PowerShell
  • Visual Basic
  • WinRM (Ans)
  • SSH

Why is Git an integral part of using Chef?

  • Because Chef development is driven by open source principles
  • Because version control is critical for managing code properly (Ans)
  • The ChefDK needs Git to be installed first
  • The ChefDK uses Git to upload cookbooks to the Chef Server

If one Chef cookbook depends upon another Chef cookbook, where should this dependency be stated?

  • In the .gitignore file
  • In the README.md file
  • In the metadata.rb file (Ans)
  • In the knife.rb file

On which platform is the Azure Command Line Interface (CLI) supported?

  • All of them (Ans)
  • Mac OS X
  • Microsoft Windows
  • Linux

What does Knife need in order to communicate with the Chef Server?

  • The URL of the Chef Servercd
  • User and organization certificates
  • SSL certificates from the Chef Server
  • All of these (Ans)

In an environment managed by Chef, where does cookbook and policy authoring happen?

  • In the Chef Management Console
  • On the Chef Server
  • In the Chef Development Kit (Ans)
  • In the Chef PostgreSQL database

What is a provider?

  • An entry in the PATH environment variable on a Windows system
  • A process by which Chef achieves a recipe’s declared end-state (Ans)
  • A component of a cookbook which defines the version number and dependencies
  • A self-contained Ruby package, such as knife-windows

What does it mean if a Chef node reports an “empty run list” during a client run?

  • It means that the Chef Client did not install correctly, and must be reinstalled
  • It means that no recipes, cookbooks, or roles have been assigned to the node (Ans)
  • It means that the wrong recipe, cookbook or role has been assigned to the node
  • It means that the Chef Client failed to connect to the Chef Server
Rajesh Kumar
Follow me