Get in Touch

Course Outline

1 Developing Playbooks with Ansible Automation Platform

  • The functions of the automation controller, automation hub, platform gateway, and execution environments.
  • Preparing developer tools, including Git, the Ansible extension for VS Code, and ansible-lint.
  • Executing playbooks using ansible-navigator in both interactive and stdout modes.
  • Managing project files within Git using branches, commits, pushes, and pulls.
  • Structuring playbooks, roles, and projects to ensure readability, reusability, and ease of maintenance.

2 Utilising Content Collections and Execution Environments

  • Collection namespaces, fully qualified collection names, and content dependencies.
  • Locating collections in Red Hat automation hub, private automation hub, and Ansible Galaxy.
  • Installing required collections using ansible-galaxy and requirements files.
  • Selecting execution environments and inspecting the contained tools and collections.
  • Understanding collection availability within execution environments and via project content paths.

3 Executing Playbooks via Automation Controller

  • Utilising the unified platform interface to manage and initiate automation tasks.
  • The interrelationships between organisations, projects, inventories, credentials, and job templates.
  • Connecting Git-based automation projects and selecting appropriate execution environments.
  • Initiating jobs and interpreting output, status, and execution errors.

4 Configuring Ansible and Automation Content Navigator

  • How Ansible identifies configuration files and applies environment-variable overrides.
  • Inspecting effective settings using ansible-config and ansible-navigator config.
  • Configuring execution environment images, pull behaviour, execution mode, and logging within ansible-navigator.yml.
  • Diagnosing configuration discrepancies that impact playbook development and execution.

5 Managing Inventories and Inventory Variables

  • Creating YAML inventories and converting existing INI inventory structures.
  • Organising host and group variables within host_vars and group_vars directories.
  • Utilising host aliases and connection variables such as ansible_host, ansible_user, and ansible_connection.
  • Generating inventory data through dynamic inventory plug-ins.
  • Combining multiple inventory sources and verifying the resulting hosts, groups, and variables.

6 Controlling and Optimising Task Execution

  • Managing privilege escalation with become at appropriate playbook levels.
  • Understanding execution order across pre_tasks, roles, tasks, handlers, and post_tasks.
  • Controlling handlers via notify, listen, and meta: flush_handlers.
  • Selecting specific tasks using tags, including the special always and never tags.
  • Reviewing performance through fact-gathering settings, caching, forks, SSH pipelining, and callback plug-ins.

7 Transforming Data with Filters and Plug-ins

  • Applying Jinja2 filters to strings, lists, dictionaries, defaults, and data types.
  • Retrieving external data using lookup plug-ins and query.
  • Processing structured data with loops, subelements, dict2items, product, and loop_control.
  • Working with network-address data through ansible.utils.ipaddr filters.
  • Preparing variables in the formats required by reusable roles and templates.

8 Coordinating Rolling Updates

  • Delegating tasks and facts using delegate_to and delegate_facts, including local actions.
  • Controlling parallel execution and host batches via forks and serial.
  • Using max_fail_percentage and any_errors_fatal to manage the response to failures.
  • Understanding the behaviour of run_once when updates are performed in batches.
  • Coordinating the removal of hosts from and their return to a load balancer to minimise disruption during updates.

9 Creating Collections and Custom Execution Environments

  • Organising collection content, including roles, modules, plug-ins, and supporting metadata.
  • Defining collection metadata and compatibility details in galaxy.yml and meta/runtime.yml.
  • Building collection packages and publishing them to a private automation hub.
  • Defining dependencies in execution-environment.yml and building images with ansible-builder.
  • Validating custom environments with ansible-navigator and deploying them with automation controller.

Requirements

  • Previous training in Red Hat Enterprise Linux Automation with Ansible (AU294), or comparable practical proficiency.
  • RHCE certification for Red Hat Enterprise Linux 9 or later, or equivalent Ansible knowledge and competence.
  • Competence in operating the Linux command line, reading and writing YAML, and authoring basic Ansible playbooks.
  • Proficiency with Git repositories and fundamental version-control workflows.
 28 Hours

Testimonials (1)

Upcoming Courses

Related Categories