diff --git a/exercises/ansible_network/1-explore/README.md b/exercises/ansible_network/1-explore/README.md index 42331149d..01bc61629 100644 --- a/exercises/ansible_network/1-explore/README.md +++ b/exercises/ansible_network/1-explore/README.md @@ -4,18 +4,20 @@ ## Table of Contents -* [Objective](#objective) -* [Diagram](#diagram) -* [Guide](#guide) - * [Step 1 - Connecting via VS Code](#step-1---connecting-via-vs-code) - * [Step 2 - Using the Terminal](#step-2---using-the-terminal) - * [Step 3 - Examining Execution Environments](#step-3---examining-execution-environments) - * [Step 4 - Examining the ansible-navigator configuration](#step-4---examining-the-ansible-navigator-configuration) - * [Step 5 - Examining inventory](#step-5---examining-inventory) - * [Step 6 - Understanding inventory](#step-6---understanding-inventory) - * [Step 7 - Using ansible-navigator to explore inventory](#step-7---using-ansible-navigator-to-explore-inventory) - * [Step 8 - Connecting to network devices](#step-8---connecting-to-network-devices) -* [Complete](#complete) +- [Exercise 1 - Exploring the lab environment](#exercise-1---exploring-the-lab-environment) + - [Table of Contents](#table-of-contents) + - [Objective](#objective) + - [Diagram](#diagram) + - [Guide](#guide) + - [Step 1 - Connecting via VS Code](#step-1---connecting-via-vs-code) + - [Step 2 - Using the Terminal](#step-2---using-the-terminal) + - [Step 3 - Examining Execution Environments](#step-3---examining-execution-environments) + - [Step 4 - Examining the ansible-navigator configuration](#step-4---examining-the-ansible-navigator-configuration) + - [Step 5 - Examining inventory](#step-5---examining-inventory) + - [Step 6 - Understanding inventory](#step-6---understanding-inventory) + - [Step 7 - Using ansible-navigator to explore inventory](#step-7---using-ansible-navigator-to-explore-inventory) + - [Step 8 - Connecting to network devices](#step-8---connecting-to-network-devices) + - [Complete](#complete) ## Objective @@ -123,18 +125,20 @@ Selecting `2` for `Ansible version and collections` will show us all Ansible Col Either use Visual Studio Code to open or use the `cat` command to view the contents of the `ansible-navigator.yml` file. The file is located in the home directory: ```bash -$ cat ~/.ansible-navigator.yml +$ cat .ansible-navigator.yml --- ansible-navigator: ansible: - inventories: - - /home/student/lab_inventory/hosts + inventory: + entries: + - /home/student/lab_inventory/hosts execution-environment: image: quay.io/acme_corp/network-ee:latest enabled: true container-engine: podman - pull-policy: missing + pull: + policy: missing volume-mounts: - src: "/etc/ansible/" dest: "/etc/ansible/" diff --git a/exercises/ansible_rhel/1.1-setup/README.md b/exercises/ansible_rhel/1.1-setup/README.md index 14ca8ded4..bb4b8736c 100644 --- a/exercises/ansible_rhel/1.1-setup/README.md +++ b/exercises/ansible_rhel/1.1-setup/README.md @@ -5,14 +5,16 @@ ## Table of Contents -* [Objective](#objective) -* [Guide](#guide) - * [Your Lab Environment](#your-lab-environment) - * [Step 1 - Access the Environment](#step-1---access-the-environment) - * [Step 2 - Using the Terminal](#step-2---using-the-terminal) - * [Step 3 - Examining Execution Environments](#step-3---examining-execution-environments) - * [Step 4 - Examining the ansible-navigator configuration](#step-4---examining-the-ansible-navigator-configuration) - * [Step 5 - Challenge Labs](#step-5---challenge-labs) +- [Workshop Exercise - Check the Prerequisites](#workshop-exercise---check-the-prerequisites) + - [Table of Contents](#table-of-contents) + - [Objective](#objective) + - [Guide](#guide) + - [Your Lab Environment](#your-lab-environment) + - [Step 1 - Access the Environment](#step-1---access-the-environment) + - [Step 2 - Using the Terminal](#step-2---using-the-terminal) + - [Step 3 - Examining Execution Environments](#step-3---examining-execution-environments) + - [Step 4 - Examining the ansible-navigator configuration](#step-4---examining-the-ansible-navigator-configuration) + - [Step 5 - Challenge Labs](#step-5---challenge-labs) ## Objective @@ -138,7 +140,7 @@ Note the following parameters within the `ansible-navigator.yml` file: * `inventories`: shows the location of the ansible inventory being used * `execution-environment`: where the default execution environment is set -For a full listing of every configurable knob checkout the [documentation](https://ansible-navigator.readthedocs.io/en/latest/settings/) +For a full listing of every configurable knob checkout the [documentation](https://ansible.readthedocs.io/projects/navigator/settings/) ### Step 5 - Challenge Labs diff --git a/exercises/ansible_rhel/2.7-wrap/README.md b/exercises/ansible_rhel/2.7-wrap/README.md index d14899f77..86c820d65 100644 --- a/exercises/ansible_rhel/2.7-wrap/README.md +++ b/exercises/ansible_rhel/2.7-wrap/README.md @@ -5,16 +5,18 @@ ## Table of Contents -* [Objective](#objective) -* [Guide](#guide) - * [Let’s set the stage](#lets-set-the-stage) - * [The Git Repository](#the-git-repository) - * [Prepare Inventory](#prepare-inventory) - * [Create the Template](#create-the-template) - * [Check the results](#check-the-results) - * [Add Survey](#add-survey) - * [Solution](#solution) -* [The End](#the-end) +- [Workshop Exercise - Wrap up](#workshop-exercise---wrap-up) + - [Table of Contents](#table-of-contents) + - [Objective](#objective) + - [Guide](#guide) + - [Let’s set the stage](#lets-set-the-stage) + - [The Git Repository](#the-git-repository) + - [Prepare Inventory](#prepare-inventory) + - [Create the Template](#create-the-template) + - [Check the Results](#check-the-results) + - [Add Survey](#add-survey) + - [Solution](#solution) + - [The End](#the-end) ## Objective @@ -101,8 +103,7 @@ Within the **Details** tab of the `Webserver` group, click on **Edit**. Within t stage: dev ``` -Within the **Details** tab of the `Webserver` inventory, click the **Hosts** tab, click the **Add** button and **Add existing host**. Select `node1`, `node2`, `node3` as the hosts to be part of the `Webserver` inventory. - +Within the **Details** tab of the `Webserver` group, click the **Hosts** tab, click the **Add** button and **Add existing host**. Select `node1`, `node2`, `node3` as the hosts to be part of the `Webserver` inventory. Within **Resources** -> **Inventories**, select the `Workshop` Inventory. Click on the `Hosts` tab and click on `node2`. Click on `Edit` and add the `stage: prod` variable in the **Variables** window. This overrides the inventory variable due to order of operations of how the variables are accessed during playbook execution. diff --git a/exercises/ansible_rhel_90/6-system-roles/README.md b/exercises/ansible_rhel_90/6-system-roles/README.md index ac68a56a7..f6fb5a971 100644 --- a/exercises/ansible_rhel_90/6-system-roles/README.md +++ b/exercises/ansible_rhel_90/6-system-roles/README.md @@ -4,21 +4,23 @@ ## Table Contents -* [Objective](#objective) -* [Guide](#guide) - * [Step 1 - Examine Ansible Project](#step-1---examine-ansible-project) - * [Step 2 - Examine the Ansible Playbook](#step-2---examine-the-ansible-playbook) - * [Step 3 - Examine the Linux System Roles](#step-3---examine-the-linux-system-roles) - * [Step 4 - Launch the Ansible Job](#step-4---launch-the-ansible-job) - * [Step 5 - Verify the configuration](#step-5---verify-the-configuration) -* [Complete](#complete) +- [Exercise - Linux System Roles](#exercise---linux-system-roles) + - [Table Contents](#table-contents) +- [Objective](#objective) +- [Guide](#guide) + - [Step 1 - Examine Ansible Project](#step-1---examine-ansible-project) + - [Step 2 - Examine the Ansible Playbook](#step-2---examine-the-ansible-playbook) + - [Step 3 - Examine the Linux System Roles](#step-3---examine-the-linux-system-roles) + - [Step 4 - Launch the Ansible Job](#step-4---launch-the-ansible-job) + - [Step 5 - Verify the configuration](#step-5---verify-the-configuration) +- [Complete](#complete) # Objective The goal of this exercise is to understand and use pre-existing content in the forms of roles and collections from Automation Hub and Ansible Galaxy. - Understand and use [Linux System Roles](https://linux-system-roles.github.io/) and [RHEL System Roles Collection](https://console.redhat.com/ansible/automation-hub/repo/published/redhat/rhel_system_roles) - - Use [firewall role](https://galaxy.ansible.com/linux-system-roles/firewall) to configure the firewall + - Use [firewall role](https://galaxy.ansible.com/ui/standalone/roles/linux-system-roles/firewall/) to configure the firewall - Use the [timesync role](https://console.redhat.com/ansible/automation-hub/repo/published/redhat/rhel_system_roles/content/role/timesync) to configure NTP from the RHEL System Roles Collection. - Use a pre-populated Ansible Survey to configure the RHEL web hosts @@ -40,19 +42,21 @@ Take note of the Github repository that was pre-loaded into your Ansible Automat ## Step 2 - Examine the Ansible Playbook -Open the repository linked above in your web browser. Navigate to **playbooks/security/hardening.yml** +Open the repository linked above in your web browser. Navigate to **linux/hardening.yml** + +The full URL is: [https://github.com/ansible/product-demos/blob/main/linux/hardening.yml](https://github.com/ansible/product-demos/blob/main/linux/hardening.yml) Take note of these two tasks: ``` - name: Configure Firewall when: harden_firewall | bool - include_role: + ansible.builtin.include_role: name: linux-system-roles.firewall - name: Configure Timesync when: harden_time | bool - include_role: + ansible.builtin.include_role: name: redhat.rhel_system_roles.timesync ``` @@ -74,7 +78,7 @@ There are two tasks that include a role and a role from a collection respectivel The Ansible Playbooks are simple. They just use the pre-built Ansible Playbooks provided by Ansible Galaxy and Automation Hub. These were pre-installed for this Ansible Workshop. -- [firewall system role](https://galaxy.ansible.com/linux-system-roles/firewall) - by default this installs firewalld, python3-firewall. Optional parameters can be sent such as what service to open: +- [firewall system role](https://galaxy.ansible.com/ui/standalone/roles/linux-system-roles/firewall/) - by default this installs firewalld, python3-firewall. Optional parameters can be sent such as what service to open: ``` vars: diff --git a/provisioner/README.md b/provisioner/README.md index abfe2053a..60a115f61 100644 --- a/provisioner/README.md +++ b/provisioner/README.md @@ -18,29 +18,31 @@ The `github.com/ansible/workshops` contains an Ansible Playbook `provision_lab.y ## Table of Contents -* [Ansible Automation Workshop Provisioner](#ansible-automation-workshop-provisioner) - * [Table Of Contents](#table-of-contents) - * [Requirements](#requirements) - * [Lab Setup](#lab-setup) - * [One Time Setup](#one-time-setup) - * [Ansible-Navigator](#ansible-navigator) - * [1. AWS Creds for Execution Environments](#1-aws-creds-for-execution-environments) - * [2. Running Ansible-Navigator from the project root](#2-running-ansible-navigator-from-the-project-root) - * [Setup (per workshop)](#setup-per-workshop) - * [Automation controller license](#automation-controller-license) - * [Additional examples](#additional-examples) - * [Accessing student documentation and slides](#accessing-student-documentation-and-slides) - * [Accessing instructor inventory](#accessing-instructor-inventory) - * [DNS](#dns) - * [Smart Management](#smart-management) - * [Automated Satellite](#satellite) - * [devcontainer(optional)](#devcontainer) - * [Developer Mode and understanding collections](#developer-mode-and-understanding-collections) - * [Lab Teardown](#lab-teardown) - * [Demos](#demos) - * [FAQ](#faq) - * [More info on what is happening](#more-info-on-what-is-happening) -* [Getting Help](#getting-help) +- [Ansible Automation Workshop Provisioner](#ansible-automation-workshop-provisioner) + - [Table Of Contents](#table-of-contents) + - [Table of Contents](#table-of-contents-1) + - [Requirements](#requirements) + - [Lab Setup](#lab-setup) + - [One Time Setup](#one-time-setup) + - [Ansible-Navigator](#ansible-navigator) + - [1. AWS Creds for Execution Environments](#1-aws-creds-for-execution-environments) + - [2. Running Ansible-Navigator from the project root](#2-running-ansible-navigator-from-the-project-root) + - [Setup (per workshop)](#setup-per-workshop) + - [Automation controller license](#automation-controller-license) + - [Automating the download of aap.tar.gz](#automating-the-download-of-aaptargz) + - [Additional examples](#additional-examples) + - [Accessing student documentation and slides](#accessing-student-documentation-and-slides) + - [Accessing instructor inventory](#accessing-instructor-inventory) + - [DNS](#dns) + - [Smart Management](#smart-management) + - [Automated Satellite](#automated-satellite) + - [devcontainer](#devcontainer) + - [Developer Mode and understanding collections](#developer-mode-and-understanding-collections) + - [Lab Teardown](#lab-teardown) + - [Demos](#demos) + - [FAQ](#faq) + - [More info on what is happening](#more-info-on-what-is-happening) +- [Getting Help](#getting-help) ## Requirements @@ -154,6 +156,10 @@ ee_images: # "Default execution environment" for controller ee_default_image: "{{ ee_registry_name }}/ee-supported-rhel8:latest" +# By default pre_build is set to true, this allows people with access to specific AMIs +# built by the Red Hat Ansible Team to be shared with AWS organizations/accounts to speed up +# provisioning and reduce errors +pre_build: false ``` ### Automation controller license