Chap 29 - Introduction to Automation Tools Flashcards

1
Q

What is EEM?

A

Embedded Event Manager

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are 2 building blocks of EEM?

A
  • Events
  • Actions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are 3 EEM debug commands?

A
  • debug event manager action cli
  • debug event manager all
  • debug event manager action mail
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the EEM keyword used so that the output will include the output of any CLI commands that were issued in the applet?

A

$_cli_result

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

In EEM what does “file prompt quiet” do?

A

It disables the IOS confirmation mechanism that asks to confirm a user’s actions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are 4 common EEM email variables?

A
  • _email_server
  • _email_to
  • _email_from
  • _email_cc
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the EEM command that causes an EEM applet to require manual execution?

A

event none

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the command to manually run an EEM applet?

A

R1# event manager run

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the command to manually run a TCL script?

A

tclsh flash:/ping.tcl

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the command to view any text file?

A

more flash:ping.tcl

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are 6 configuration changes for which network operators leverage automation for?

A
  • Device name/IP address
  • QOS
  • ACLs
  • Usernames/passwords
  • SNMP settings
  • Compliance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are 3 agent-based automation tools?

A
  • Puppet
  • Chef
  • Saltstack
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Puppet?

Server/Client functions:
Language:
Push or Pull:
Collection of code or files:
Code deployed as:
Admin interaction:
Service installed on nodes:
Communication Server/Client:

A
  • Server/Client functions: Puppet Master / Puppet Agents
  • Language: Ruby-based Domain Specific Language
  • Push or Pull: Pull
  • Collection of code or files: Modules in PuppetDB
  • Code deployed as: Manifests
  • Admin interaction: Puppet console
  • Service installed on nodes: Puppet agent
  • Communication Server/Client: TCP SSL req. certificates
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What 3 types of Cisco devices can Puppet be used with?

A
  • Catalyst switches
  • Nexus switches
  • UCS servers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does Puppet do to helps an organization standardize its device configurations?

A

It can periodically verify the configuration on devices. If a configuration on a device has changed it can be alerted on as well as automatically put back to the previous configuration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How do Puppet agents communicate with the Puppet master?

A

By using different TCP connections. Each TCP port uniquely represents a communications path from an agent running on a device or node.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What does Puppet allow for?

A

Puppet allows for the management and configuration of multiple device types at the same time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are the 3 installation types of Puppet?

A
  • Monolithic - up to 4000 nodes
  • Monolithic with compile masters - 4000 to 20,000
  • Monolithic with compile masters and standalone PostgreSQL - more than 20,000 nodes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What 2 things might operations staff need in large-scale Puppet deployments

A
  • Master of Masters (MoM) that manages the distributed Puppet masters and their associated databases
  • Compile Masters that are load-balanced Puppet servers that help scale the number of agents that can be managed.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What advantage is there in having a Puppet MoM?

A

It greatly simplifies the management of the Puppet environments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the hierarchy of Puppet configuration?

A
  • Modules contain manifests
  • Manifests contain classes
  • Classes contain resources
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What 3 things do Puppet modules contain?

A
  • Manifests
  • Templates
  • Files
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are Puppet Manifests, how are they sent to clients, and what is required to do that?

A
  • They contain the code that configures the clients or nodes running the puppet agent
  • Pushed to devices using SSL
  • Require certificates to be installed to ensure the security of the communications between master and agents
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is a Puppet Module?

A

A collection of files and directories that can contain Puppet manifests, as well as other objects such as files and templates

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What is a Puppet Module and what does it leverage for communication to devices? called cisco_ios?

A
  • It contains multiple manifests
  • Leverages SSH to connect to devices
  • Each of these manifests are used to modify the running configuration on Cisco Catalyst devices in some fashion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

How are Manifests saved?

A

They are saved as individual files that have a file extension .pp.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What does Puppet use as its programming language?

A

Domain-specific Language (DSL) as its “programming language.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What is Puppet Forge?

A

Puppet Forge is a free of charge community where puppet modules, manifests, and code can be shared.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

What is Chef?

  • Server/Client functions:
  • Language:
  • Push or Pull:
  • Collection of code or files:
  • Code deployed as:
  • Admin interaction:
  • Service installed on nodes:
  • Communication workstation to Server:
  • Communication Server/Client:
A
  • Server/Client functions: Chef Server / Chef Clients
  • Language: Ruby DSL
  • Push or Pull: Pull
  • Collection of code or files: Cookbooks
  • Code deployed as: recipes
  • Admin interaction: workstation
  • Service installed on nodes: OHAI
  • Communication workstation to Chef Server: Knife cli
  • Communication Server/Client:
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What code is Chef written in?

A

in Ruby and Erlang, but when it comes to actually writing code within Chef, Ruby is the language used

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

What is the Push model used by configuration management tools?

A

Push models push configuration from a centralized tool or management server,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What is the Pull model used by configuration management tools?

A

Pull models check in with the server to see if there is any change in the configuration, and if there is, the remote devices pull the updated configuration files down to the end device.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

What are 6 ways Chef is similar to Puppet?

A
  • Both have free open-source versions
  • Both also have paid enterprise versions
  • Both manage code that needs to be updated/stored
  • Both manage devices that need to be configured
  • Both are ‘Pull’ models * Both function as a client-server model
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

How is Chef different from Puppet?

A

Chef’s structure, terminology, and core components are different from those of Puppet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Compare the difference in terminology between Puppet and Chef.

A
  • Puppet Master = Chef server
  • Puppet agent = Chef client
  • Puppet module = Chef Cookbook
  • Puppet Manifest = Chef Recipe
  • Puppet console = Chef workstation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What is Knife in Chef?

A

The name of the command-line tool used to upload cookbooks to the Chef server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What is the command to upload a cookbook to the Chef server?

A

knife upload (cookbookname)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Where can the Chef server be hosted?

A
  • Locally on the workstation
  • Remotely on a server
  • Hosted in the cloud.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

What happens to create Chef code?

A
  • Created on the Chef workstation
  • Stored in a file called a recipe
  • Uploaded to the Chef server in order to be used in the environment.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

What are the four types of Chef server deployments?

A
  • Chef Solo - server hosted on workstation
  • Chef Client and Server - distributed components
  • Hosted Chef - in the cloud
  • Private Chef - all components within the same enterprise
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

What is OHAI?

A

A service that is installed on the nodes that is used to collect the current state of a node and to send the information back to the Chef server through the Chef client service.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

In Chef where are cookbooks stored?

A

On the Chef server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What is a Chef Cookbook and what is it comparable to in Puppet?

A
  • A collection of recipes
  • Comparable to a module in Puppet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

What is a Chef Recipe and what is it comparable to in Puppet?

A
  • Code being deployed to make configuration changes
  • Comparable to a manifest in Puppet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Which Chef component is responsible for all communications btw client and server?

A

The Chef client service that runs on the nodes is responsible for all communications to the Chef server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

What happens when a Chef node needs a recipe?

A

When a node needs a recipe, the Chef client service handles the communication back to the Chef server to signify the node’s need for the updated configuration or recipe.

47
Q

What is the Kitchen in Chef?

A

It is a place where all recipes and cookbooks can automatically be executed and tested prior to hitting any production nodes.

48
Q

What 4 testing frameworks does the Kitchen support?

A
  • Bash Automated Testing System (BATS)
  • Minitest
  • Rspec
  • ServerSpec
49
Q

How do you know whether to choose Puppet or Chef?

A

It depends on the skillset and adoption processes of your network operations.

50
Q

What is SaltStack?

Server/Client functions:
Language:
Push or Pull:
Servers Collection of client info:
Code deployed as:
Config Mgmt method:
Admin interaction:
Service installed on nodes:
Communication workstation to Server:
Communication Server/Client:

A
  • Server/Client functions: Masters/minions
  • Language: Python
  • Push or Pull: Push using SSH
  • Servers collection of client info: Pillars
  • Code deployed as: Salt Formulas in YAML or DSL
  • Configuration Mgmt: Reactors and Beacons Remote Execution System
  • Admin interaction: Python or Syndic GUI
  • Service installed on nodes: SaltStack Grains
  • Communication workstation to Server:
  • Communication Server/Client: 0MQ (Zero MQ), AES encryption
51
Q

What is SaltStack built on?

A

Python

52
Q

What is one advantage of SaltStack being built on Python?

A

Since it is built on Python, and has a Python interface a user can program directly to SaltStack by using Python code.

53
Q

What are Salt formulas?

A

the instructions or states that get sent out to the nodes that are written in YAML or a DSL.

54
Q

What Distributed Messaging Platform does SaltStack use?

A

0MQ (ZeroMQ)

55
Q

In general how is the SaltStack architecture different from Puppet and Chef?

A

SaltStack uses a concept of Systems which are divided into various categories.

56
Q

Why is SaltStacks performance very fast?

A

SaltStack can run remote commands to systems in a parallel fashion.

57
Q

Where is the SaltStack reactor and what does it do?

A
  • Sits on the Master
  • Listens for a minion’s beacon signifying there has been a change on the host that differ from the desired state or configuration
58
Q

What is a SaltStack Beacon?

A
  • Lives in Minions
  • If a configuration changes on a node it tells the Reactor on the Master
59
Q

What are 3 types of changes does the SaltStack Reactor listen for?

A
  • Command-line configuration
  • Disk/memory/processor utilization
  • Status of services
60
Q

What are SaltStack minions?

A
  • The SaltStack agent
61
Q

What is the Remote Execution System?

A

The process of the Beacon notifying the Reactor of any configuration changes.

62
Q

What are SaltStack Grains?

A

The Grains interface derives information about the underlying system. It’s called Grains because it presents Salt with Grains of information.

63
Q

How are the SaltStack Grains of information gathered?

A

This information is typically gathered by the salt-minion daemon.

64
Q

What are SaltStack Pillars?

A

Pillars are tree-like structures of data defined on the Salt Master and passed through to minions. They allow confidential, targeted data to be securely sent only to the relevant minion. Pillar is information about a minion or many minions stored or generated on the Salt Master

65
Q

What is the name of the SaltStack GUI?

A

SynDic

66
Q

What does SynDic make possible?

A

It makes it possible to leverage the master of masters.

67
Q

What are 3 components that are contained in Salt’s command structure?

A

* Targets * Commands * Arguments

68
Q

What is a Target in Salt’s command structure?

A

The target is the desired system that the command should run on.

69
Q

How are minions targeted?

A

It is possible to target the system by using the MinionID of a minion.

70
Q

When targeting what happens if an asterisk * is used instead of minion ID?

A

The asterisk * is a wildcard indicating all systems that are currently managed by SaltStack would be targeted.

71
Q

What is Globbing?

A

When targeting you use a combination of the minion ID and the asterisk; for example, Minion* would grab any system that has a MinionID that starts with the word Minion.

72
Q

What is an Argument in Salt’s command structure?

A

An argument provides detail to the module and function that is being called on in the command.

73
Q

What syntax does the Salt command structure use?

A

It uses the module.function syntax followed by the argument.

74
Q

What would the Salt command be to run the ‘ls -l/etc’ on all systems?

A

salt ‘*’ cmd.run ‘ls -l/etc’

75
Q

What does the ‘network.interfaces’ command do?

A

It gathers network information from all the disparate systems, such as the MAC address, interface names, state, and IPv4 and IPv6 addresses assigned to those interfaces.

76
Q

What are 3 Agent-less Automation Tools?

A

* Ansible * Puppet Bolt * SaltStack SSH (Server-only mode)

77
Q

What is Ansible?

A

* Owned by Redhat * An automation tool that is capable of automating cloud provisioning, deployment of applications, and configuration management.

78
Q

What were the 4 concepts in mind when Ansible was created?

A

* Consistent * Secure * Highly reliable * Minimal learning curve

79
Q

How does Ansible communicate with the devices it manages?

A

Ansible communicates using SSH for a majority of devices, and it can support Windows Remote Management (WinRM) and other transport methods to the clients it manages.

80
Q

Does Ansible need an administrative account?

A

No, Ansible doesn’t need an administrative account on the client. It can use built-in authorization escalation such as sudo when it needs to raise the level of administrative control.

81
Q

What is the Ansible control station?

A

* It could be a laptop or a server sitting in a data center * The control station is the computer used to run Ansible and issue changes and send requests to the remote hosts * All Ansible requests come from the control station

82
Q

Why do people like to use Ansible?

A

* It allows for easy ramp-up for users who aim to create new projects * It sets the stage for long-term automation initiatives and processes to further benefit the business.

83
Q

What is Lifecycle methodology known as PPDIOO?

A

* Prepare * Plan * Design * Implement * Observe * Optimize

84
Q

What is an Ansible Playbook?

A

* structured sets of instructions * A set of plays for remote systems * For example, Enforcing configuration and/ or deployment steps

85
Q

What is an Ansible Play?

A

A set of tasks applied to a single host or a group of hosts

86
Q

What is an Ansible Task?

A

A call to an Ansible module

87
Q

What are Ansible Playbooks written with?

A

YAML (Yet Another Markup Language)

88
Q

How can you recognize an Ansible YAML file?

A

Ansible YAML files usually begin with a series of three dashes (—) and end with a series of three periods (…).

89
Q

How are comments added in Ansible YAML?

A

Add comments in YAML by beginning lines with a pound sign (#).

90
Q

In an Ansible YAML list how are items added to the list?

A

Indent and begin each item with a dash and a space ( - )

91
Q

How is a YAML key/value pair different from those in JSON?

A

YAML key/value pairs don’t need quotes.

92
Q

What is YAML Lint?

A

YAML Lint is a free online tool you can use to check the format of YAML files to make sure they have valid syntax.

93
Q

What are 5 Ansible CLI Commands?

A

* ansible - runs modules against targeted hosts * ansible-playbook - runs Playbook * ansible-docs - Provides docs on syntax and parameters in the CLI * ansible-pull - Changes Ansible clients from the default push model to the pull model * ansible-vault - Encrypts YAML files that contain sensitive data

94
Q

How does Ansible keep track of the hosts it manages?

A

Ansible uses an inventory file to keep track of the hosts it manages.

95
Q

In the output from a Ansible playbook what is important to look at?

A

* PLAY * TASK * PLAY RECAP

96
Q

What Ansible module is used to make changes on Cisco devices?

A

ios_command module

97
Q

What is Puppet Bolt?

A

Puppet Bolt allows you to leverage the power of Puppet without an Agent * Connects with SSH or WinRM connections * Open source tool * based on Ruby language

98
Q

What are Puppet Bolt tasks?

A

* Used for pushing configuration, installing apps and for managing services * Tasks are sharable * allows you to execute a change or configuration immediately and then validate it.

99
Q

What are the 2 ways to use Puppet Bolt?

A

* Orchestrator-driven tasks * Standalone Tasks

100
Q

What are Puppet Bolt Orchestrator-driven tasks?

A

Orchestrator-driven tasks can leverage the Puppet architecture to use services to connect to devices. This design is meant for large-scale environments.

101
Q

What are Puppet Bolt Standalone tasks?

A

Standalone tasks are for connecting directly to devices or nodes to execute tasks and do not require any Puppet environment or components to be set up in order to realize the benefits and value of Puppet Bolt.

102
Q

How are individual Bolt commands run from the CLI ?

A

By using the command ‘bolt command run’ (command_name) followed by the list of devices to run the command against.

103
Q

What is the CLI command to run a Bolt script?

A

bolt script run (script_name)

104
Q

What happens when Puppet Bolt runs a script?

A

* It copies the script into a temporary directory on the remote device * Executes the script * Captures the results * Removes the script from the remote system

105
Q

What do Puppet Bolt tasks use to retrieve data from the remote device?

A

An API

106
Q

What is the Puppet Bolt command to run tasks from the CLI?

A

bolt task run (modulename:: taskfilename)

107
Q

What allows Puppet Bolt tasks to be shared in Puppet Forge?

A

Standard file naming convention “modulename:: taskfilename”

108
Q

What command is used to view JSON documentation that accompanies a task?

A

bolt task show (modulename:: taskfilename)

109
Q

What is SaltStack SSH (Server-only mode)

A

* Agentless * Remote systems need SSH and Python installed *

110
Q

What happens when Saltstack SSH connects to a remote device?

A

* Connects to remote system * Installs a lightweight version of SaltStack in a temp directory * Then optionally delete the temporary directory and all files upon completion, leaving the remote system clean.

111
Q

When is leaving the files in the temp directory on the machine a good idea?

A

* When time is of the essence * When some users use Salt frequently

112
Q

Can Salt SSH work in conjunction with the master/ minion environment?

A

Yes

113
Q

What are the 2 most important factors when choosing an Automation tool?

A

* How the tools are used * The skills of the operations staff who are adopting them.