Ansible 202 (Server) (A202S)

 

Course Overview

Continue your studies of Ansible, with a focus on automating servers and applications. In addition to Ansible, students will study enough Python to understand Ansible’s plugin architecture. Lessons and labs focus on using both Python and Ansible to interact with and configure your Linux and Windows servers, as well as common applications. At the conclusion of this course you will return to work empowered with skills necessary to create or improve Ansible solutions. This class is a combination of live demonstrations and hands-on labs with virtual network devices and endpoints as targets for your configuration.

For many of the lessons, we use the Dell PowerEdge (including the iDRAC and RedFish APIs) as a source of reference and study. However, the lessons are transferable to all server platforms. Linux and Windows are both covered.

Students looking for Ansible for network applications should see: Ansible 201 (Networking)

Who should attend

  • Network Administrators
  • Ansible Developers
  • Python Developers
  • Administrators interested in Automation
  • Individuals interested in devops, specifically for networking

Prerequisites

  • Ansible 101 (Ansible Essentials)
  • Coding experience in another language serves as an adequate prerequisite

Course Objectives

  • Version controlling code with Git
  • Open SSH sessions and pass commands to remote servers
  • Basic Python for automation applications
  • Ansible collections for server automation
  • Understanding plugin architecture of Ansible modules written with Python
  • Best practices for automation

Outline: Ansible 202 (Server) (A202S)

Day 01

Ansible and Python Review
  • Overview of Python and Ansible
  • Python whitespace rules & best practices
  • Conditional expressions
  • Relational and Boolean operators
  • Lists, Tuples, Dictionaries
  • Indexing and slicing
  • Built-in functions
  • Writing custom functions
  • Getting at methods
  • Iterating with Loops (for and while)
  • Working with files
  • Software Control Management (SCM) (Git, Github, GitLab, Bitbucket, Cloudshare, etc.)
  • Getting at RESTful interfaces with Python
  • Working with JSON
  • Ansible with OpenSSH vs Paramiko

Day 2

Server Automation
  • RESTful API review
  • Understanding API documentation
  • PowerEdge iDRAC scripting with Python
  • Redfish APIs
  • Working with YAML
  • Converting JSON to YAML with Python

Day 3

Critical Ansible Catchup & Review
  • Ansible keywords
  • YAML and JSON for data exchange
  • Ansible and YAML
  • Ansible Playbook components
  • Tying together Python and Ansible – Using Python within Ansible
  • Ansible server modules
  • What is new in Ansible (most current updates / release notes)
  • Ansible PowerEdge Collection
  • Writing playbooks for iDRAC and Redfish APIs
  • Writing Ansible playbooks that respond to failures

Day 4

Blending Python and Ansible Skillsets
  • Review how to use Python within Ansible
  • Calling Python scripts with Ansible
  • Jinja2 Templating Engine for Python (and Ansible)
  • Using Templates in Ansible playbooks
  • Jinja2 filters, looping, and other useful tricks for automating with Ansible
  • Playbook tagging for selective runs
  • When to use Python and when to use Ansible
  • Writing a custom collection
  • Writing custom roles
  • Extending Ansible to support Windows

Day 5

Customizing Ansible with Python
  • Review – Running Scripts with Ansible
  • Prompting for Ansible user input
  • Ansible Galaxy & Getting at Roles
  • Writing a custom Ansible Module with Python
  • Ansible “Engine” vs Ansible “Tower” – marketing hype, capabilities, costs, etc.
  • Writing your own Ansible modules in Python
  • Molecule – Testing your roles

Prices & Delivery methods

Online Training

Duration
5 days

Price
  • Online Training: CAD 3,160
  • Online Training: US$ 2,395
Classroom Training

Duration
5 days

Price
  • Canada: CAD 3,160

Schedule

Currently there are no training dates scheduled for this course.