From 005306ebb9242c72017bbd9c92aaf82ff1fcd8de Mon Sep 17 00:00:00 2001 From: willtome Date: Tue, 28 Jun 2022 14:30:47 -0400 Subject: [PATCH 01/61] add compliance --- ansible.cfg | 1 + linux/compliance.yml | 14 ++++++++++++++ roles/requirements.yml | 6 ++++++ 3 files changed, 21 insertions(+) create mode 100644 linux/compliance.yml create mode 100644 roles/requirements.yml diff --git a/ansible.cfg b/ansible.cfg index 469af5f..5bd4066 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,2 +1,3 @@ [defaults] collections_paths=./collections +roles_path=./roles diff --git a/linux/compliance.yml b/linux/compliance.yml new file mode 100644 index 0000000..865dab3 --- /dev/null +++ b/linux/compliance.yml @@ -0,0 +1,14 @@ +--- +- hosts: "{{ HOSTS }}" + become: true + vars: + compliance_profile: undef + + tasks: + - name: Check OS Type + assert: + that: "ansible_os_family == 'RedHat'" + + - name: Run Compliance Profile + include_role: + name: "redhatofficial.rhel{{ ansible_distribution_major_version }}_{{ compliance_profile }}" \ No newline at end of file diff --git a/roles/requirements.yml b/roles/requirements.yml new file mode 100644 index 0000000..2c4fd7b --- /dev/null +++ b/roles/requirements.yml @@ -0,0 +1,6 @@ +--- +roles: + - name: redhatofficial.rhel7_stig + version: 0.1.61 + - name: redhatofficial.rhel8_stig + version: 0.1.60 From a6cc0c3c2c6533084c43f03f20ad9e2335eed3af Mon Sep 17 00:00:00 2001 From: willtome Date: Tue, 28 Jun 2022 14:33:38 -0400 Subject: [PATCH 02/61] add job template --- linux/setup.yml | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/linux/setup.yml b/linux/setup.yml index bfe30b1..725569a 100644 --- a/linux/setup.yml +++ b/linux/setup.yml @@ -262,4 +262,28 @@ controller_templates: - question_name: Server Name or Pattern type: text variable: HOSTS - required: true \ No newline at end of file + required: true + - name: "LINUX / Compliance" + job_type: run + inventory: "Workshop inventory" + project: "Ansible official demo project" + playbook: "linux/compliance.yml" + execution_environment: Default execution environment + diff_mode: yes + credentials: + - "Workshop Credential" + survey_enabled: true + survey: + name: '' + description: '' + spec: + - question_name: Server Name or Pattern + type: text + variable: HOSTS + required: true + - question_name: Compliance Profile + type: multiplechoice + variable: compliance_profile + required: true + choices: + - stig From f6fc069aa15aaef42d2184d48306b2b64622513f Mon Sep 17 00:00:00 2001 From: willtome Date: Tue, 28 Jun 2022 14:38:09 -0400 Subject: [PATCH 03/61] fix I --- linux/setup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux/setup.yml b/linux/setup.yml index 725569a..bc565fb 100644 --- a/linux/setup.yml +++ b/linux/setup.yml @@ -265,7 +265,7 @@ controller_templates: required: true - name: "LINUX / Compliance" job_type: run - inventory: "Workshop inventory" + inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/compliance.yml" execution_environment: Default execution environment From 686b17ebae0d5b4e1e1b75961627693580b42a32 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 30 Jun 2022 11:39:34 -0400 Subject: [PATCH 04/61] add extra vars --- linux/setup.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux/setup.yml b/linux/setup.yml index bc565fb..f225b32 100644 --- a/linux/setup.yml +++ b/linux/setup.yml @@ -269,9 +269,10 @@ controller_templates: project: "Ansible official demo project" playbook: "linux/compliance.yml" execution_environment: Default execution environment - diff_mode: yes credentials: - "Workshop Credential" + extra_vars: + sudo_remove_nopasswd: false survey_enabled: true survey: name: '' From a075554e0b6ddf59ec6c946ce88697cf6dc2971a Mon Sep 17 00:00:00 2001 From: willtome Date: Tue, 19 Jul 2022 15:30:43 -0400 Subject: [PATCH 05/61] add documentation --- linux/README.md | 75 ++++++++++++++++++++++++++++++++++++++++++ linux/setup.yml | 6 ++-- linux/system_roles.yml | 1 + 3 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 linux/README.md diff --git a/linux/README.md b/linux/README.md new file mode 100644 index 0000000..46b15cf --- /dev/null +++ b/linux/README.md @@ -0,0 +1,75 @@ +# Linux Demos + +## Table of Contents +- [Linux Demos](#linux-demos) + - [Table of Contents](#table-of-contents) + - [About These Demos](#about-these-demos) + - [Jobs](#jobs) + - [Inventory](#inventory) + - [Post Setup Job Steps](#post-setup-job-steps) + - [Add Red Hat account details](#add-red-hat-account-details) + - [Update Credentials for Insights Inventory](#update-credentials-for-insights-inventory) + - [Add Variables for System Roles](#add-variables-for-system-roles) + - [Suggested Usage](#suggested-usage) + +## About These Demos +This category of demos shows examples of linux operations and management with Ansible Automation Platform. The list of demos can be found below. See the [Suggested Usage](#suggested-usage) section of this document for recommendations on how to best use these demos. + +### Jobs +- [**Linux / Register**](ec2_register.yml) - Register a RHEL server with Red Hat Portal and Insights +- [**Linux / Troubleshoot**](tshoot.yml) - Run troubleshooting commands to find top CPU and memory users on the system +- [**Linux / Temporary Sudo**](temp_sudo.yml) - Grant temporary sudo access to a user on the system with time based cleanup +- [**Linux / Patching**](patching.yml) - Apply updates and/or generate patch report for linux systems +- [**Linux / Start Service**](service_start.yml) - Start a service on a system +- [**Linux / Stop Service**](service_stop.yml) - Stop a service on a system +- [**Linux / Run Shell Script**](run_script.yml) - Run a shell script or command on a system +- [**Linux / Fact Scan**](https://github.com/ansible/awx-facts-playbooks/blob/master/scan_facts.yml) - Run a fact, package, and service scan against a system and store in fact cache +- [**Linux / Podman Webserver**](podman.yml) - Install and run a Podman webserver with given text on the home page +- [**Linux / System Roles**](system_roles.yml) - Apply Linux system roles to servers. Must provide variables and role names. +- [**Linux / Compliance**](compliance.yml) - Apply remediation to meet the requirements of a compliance baseline + +### Inventory + +A dymanic inventory is created to pull inventory hosts from Red Hat Insights. The Systems will be added by their host name therefore adding duplicate systems will cause conflicts in the inventory. Only systems with the tag `purpose=demo` in Red Hat Insights will be added to this inventory. Groups will be created for other tags given to the system. + +Groups will also be created for systems with missing security, enhancement and bug updates. The inventory configuration is governed by the [inventory.insights.yml](inventory.insights.yml) file. + +> Remember to delete systems from your Red Hat account when you are done with the demo to avoid conflicts with future demos using the same names. + +## Post Setup Job Steps +After running the setup job template, there are a few steps required to make the demos fully functional. See the post setup steps below. + +> These steps may differ in your environment + +### Add Red Hat account details +To register systems to the Red Hat portal and Insights, edit `extra_vars` on the `Linux / Register` job to include your org_id and an [activation key](https://access.redhat.com/management/activation_keys) to use when registering the systems. + +### Update Credentials for Insights Inventory +Navigate to the Credentials section and update the `Insights Inventory` credential with your Red Hat Portal login. + +### Add Variables for System Roles +Edit the `Linux / System Roles` job to include the list of roles that you wish to apply and the variables applicable for each role. See documentation [here](https://console.redhat.com/ansible/automation-hub/repo/published/redhat/rhel_system_roles) for configuring System Roles. + +## Suggested Usage +**Linux / Register** - Use this job to register systems to Red Hat Insights for showing Advisor recommendations and dynamic inventory. + +**Linux / Troubleshoot** - Use this job to show incident response troubleshooting and basic running of commands with an Ansible Playbook. + +**Linux / Temporary Sudo** - Use this job to show how to grant sudo access with automated cleanup to a server. The user must exist on the system. Using the student user is a good example (ie. student1) + +**Linux / Patching** - Use this job to apply updates or audit for missing updates and produce an html report of systems with missing updates. See the end of the job for the URL to view the report. In other environments this report could be uploaded to a wiki, email, other system. This demo also shows installing a webserver on a linux server. The report is places on the system defined by the `report_server` variable. By default, `report_server` is configured as `node1`. This may be overridden with `extra_vars` on the Job Template. + +**Linux / Run Shell Script** - Use this job to demonstrate running shell commands or an existing shell script across a group of systems as root. This can be preferred over using Ad-Hoc commands due to the ability to control usage with RBAC. This is helpful in showing the scalable of execution of an existing shell script. It is always recommended to convert shell scripts to playbooks over time. Example usage would be getting the public key used in the environment with the command `cat .ssh/authorized_keys`. + +**Linux / Fact Scan** - Use this job to demonstrate the use of the Ansible Fact Cache, Ansible facts, and the ability to query installed packages and running services on a system. + +**Linux / Podman Webserver** - Use this job show managing individual containers with Podman via an Ansible Playbook. + +**Linux / System Roles** - This job demonstrates running [RHEL System Roles with AAP. See the documentation [here](https://console.redhat.com/ansible/automation-hub/repo/published/redhat/rhel_system_roles) for how to configure system roles with variables by editing the extra_vars on the job template. Example: +``` +system_roles: + - selinux + +selinux_state: enforcing +``` +**Linux / Compliance** - Apply compliance profile hardening configuration from [here](https://galaxy.ansible.com/RedHatOfficial). BE AWARE: this could have unintended results based on the current state of your machine. Always test on a single machine before distributing at scale. For example, AWS instances have NOPASSWD allowed for sudo. Running STIG compliance without adding `sudo_remove_nopasswd: false` to extra_vars on the job template will lock you out of the machine. This variable is configured on the job template by default for this reason. diff --git a/linux/setup.yml b/linux/setup.yml index f225b32..6a9ca77 100644 --- a/linux/setup.yml +++ b/linux/setup.yml @@ -1,8 +1,8 @@ --- user_message: | - Be sure to update the 'activation_key' and 'org_id' extra variables for 'LINUX / Register'. https://access.redhat.com/management/activation_keys - - Update Credential for Insights Inventory with Red Hat account. + - Be sure to update the 'activation_key' and 'org_id' extra variables for 'LINUX / Register'. https://access.redhat.com/management/activation_keys + - Update Credential for Insights Inventory with Red Hat account. + - Add variables for system_roles. https://console.redhat.com/ansible/automation-hub/repo/published/redhat/rhel_system_roles controller_components: - projects - credential_types diff --git a/linux/system_roles.yml b/linux/system_roles.yml index 7a71cfd..6ad1a8f 100644 --- a/linux/system_roles.yml +++ b/linux/system_roles.yml @@ -1,6 +1,7 @@ --- - name: Apply RHEL System Roles hosts: "{{ HOSTS }}" + become: true vars: system_roles: undef From 5f7d8c5268d151c4ac9c29fcc15f0ca962f8b7b7 Mon Sep 17 00:00:00 2001 From: MKletz Date: Wed, 3 Aug 2022 11:03:33 -0500 Subject: [PATCH 06/61] Added contributing doc (#2) add contributing doc --- CONTRIBUTING.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ffa5141 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,34 @@ +# Contribution Guidelines +This document aims to outline the requirements for the various forms of contribution for this project. + +**ALL** contributions are subject to review via pull request + +## Pull requests +1) Ensure the "base repository" is set to "RedHatGov/product-demos" since this is a fork it defaults to it's parent "ansible/product-demos". + +## New playbooks +1) Create a new branch based on main +2) Add your playbook to the appropriate OS/System subdirectory +3) Make any changes needed to match the existing standards in the direcotory. + 1) Ex: Parameterized hosts + ```ansible + hosts: "{{ HOSTS | default('windows') }}" + ``` +4) Create an entry for your playbook in your subdirectories setup.yml + 1) You can copy paste an existing one and edit it. + 2) Ensure you edit the name, playbook path, survey etc. +5) Add any needed roles/collections to the [requirements.yml](/collections/requirements.yml) +6) Test via RHPDS, specify your branch name within the project configuration. + +## New OS/Systems +1) Create a new subdirectory with no spaces +2) Create a new setup.yml copying appropriate elements from another + 1) These should all be mostly the same at the top + ```ansible + --- + controller_components: + - job_templates + + controller_templates: + ... + ``` From e419c0b88d9836ba30dae571c18a9a2d1212c292 Mon Sep 17 00:00:00 2001 From: willtome Date: Wed, 3 Aug 2022 15:39:39 -0400 Subject: [PATCH 07/61] cleaning up docs --- CONTRIBUTING.md | 28 ++++++++++++++++++++-------- README.md | 23 ++++++++--------------- windows/README.md | 25 +++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 23 deletions(-) create mode 100644 windows/README.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ffa5141..ba6ee68 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,32 +3,44 @@ This document aims to outline the requirements for the various forms of contribu **ALL** contributions are subject to review via pull request -## Pull requests +## Pull Requests 1) Ensure the "base repository" is set to "RedHatGov/product-demos" since this is a fork it defaults to it's parent "ansible/product-demos". -## New playbooks -1) Create a new branch based on main -2) Add your playbook to the appropriate OS/System subdirectory -3) Make any changes needed to match the existing standards in the direcotory. +### Pull Request Guidelines +- PRs should include the playbook/demo and required entry in corresponding `/setup.yml`. +- PRs should include documentation in corresponding `/README.md`. +- PRs should be rebased against the `main` branch to avoid conflicts. +- PRs should not impact more than a single directory/demo section. +- PRs should not rely on external infrastructure or configuration unless the dependency is automated or specified in the `user_message` of `setup.yml`. + +## Adding a New Demo +1) Create a new branch based on main. (eg. `git checkout -b `) +2) Add your playbook to the appropriate demo/section subdirectory. +3) Make any changes needed to match the existing standards in the directory. 1) Ex: Parameterized hosts ```ansible hosts: "{{ HOSTS | default('windows') }}" ``` -4) Create an entry for your playbook in your subdirectories setup.yml +4) Create an entry for your playbook in your subdirectories `setup.yml` 1) You can copy paste an existing one and edit it. 2) Ensure you edit the name, playbook path, survey etc. 5) Add any needed roles/collections to the [requirements.yml](/collections/requirements.yml) 6) Test via RHPDS, specify your branch name within the project configuration. -## New OS/Systems +## New Demo Section/Category 1) Create a new subdirectory with no spaces 2) Create a new setup.yml copying appropriate elements from another - 1) These should all be mostly the same at the top + - Below is a sample skeleton for a new setup.yml ```ansible --- + user_message: '' + controller_components: - job_templates controller_templates: ... ``` + - `controller_components` can be any of the roles defined [here](https://github.com/redhat-cop/controller_configuration/tree/devel/roles) + - Add variables for each component listed +3) Include a README.md in the subdirectory diff --git a/README.md b/README.md index d490a3b..b6d08c4 100644 --- a/README.md +++ b/README.md @@ -2,24 +2,19 @@ This is a centralized location for all Ansible Product Demos going forward. -| Demo Name | Description | -|------------------------------------------------------------------|---------------------------------------------------------------------------------------------| -| [AAP on CodeReady](aap-on-crc/README.md) | Repository and video of how to install Ansible Automation Platform on Code Ready Containers | -| [Infrastructure Demos](old-demo-repository#infrastructure-demos) | Azure, AWS, Chocolatey, Linux and Windows Demos | -| [Network Demos](old-demo-repository#network-demos) | Cisco IOS and F5 Demos | -| [Security Demos](old-demo-repository#security-demos) | OSCAP and hardening demos | -| [Developer Demos](old-demo-repository#developer-demos) | Create Reports with Ansible | +| Demo Name | Description | +|-----------|-------------| +| [Linux](linux/README.md) | Repository of demos for RHEL and Linux automation | +| [Windows](windows/README.md) | Repository of demos for Windows Server automation | +| [Cloud](cloud/README.md) | Demo for infrastructure and cloud provisioning automation | ## Contributions -Please push contributions via a pull request following the naming convention of name-of-demo. - -[![GitHub Super-Linter](https://github.com/ansible/ansible-demos/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter) - +If you would like to contribute to this project please refer to [contribution guide](CONTRIBUTING.md) for best practices. ## Using this project - > This project is tested for compatibility with AAP2 Linux Automation Workshop available to Red Hat Employees and Partners. + > This project is tested for compatibility with AAP2 Linux Automation Workshop available to Red Hat Employees and Partners. To use with other Ansible Controller installations, review the [pre-requisite documentation](https://github.com/RedHatGov/ansible-tower-samples/tree/product-demos). 1. First you must create a credential for [Automation Hub](https://console.redhat.com/ansible/automation-hub/) to successfully sync collections used by this project. @@ -40,6 +35,4 @@ Please push contributions via a pull request following the naming convention of - Name: Controller Credential - Extra vars: - demo: - -4. If you require a Windows Active Directory domain you will need to run the "ACTIVE DIRECTORY / Create Active Directory domain" template after the Windows setup completes. This will create the "ansible.local" domain as well as a few generic users and groups. \ No newline at end of file + demo: diff --git a/windows/README.md b/windows/README.md new file mode 100644 index 0000000..518f4c7 --- /dev/null +++ b/windows/README.md @@ -0,0 +1,25 @@ +# Windows Demos + +## Table of Contents +- [Windows Demos](#windows-demos) + - [Table of Contents](#table-of-contents) + - [About These Demos](#about-these-demos) + - [Jobs](#jobs) + - [Suggested Usage](#suggested-usage) + +## About These Demos +This category of demos shows examples of Windows Server operations and management with Ansible Automation Platform. The list of demos can be found below. See the [Suggested Usage](#suggested-usage) section of this document for recommendations on how to best use these demos. + +### Jobs + +- [**WINDOWS / Install IIS**](install_iis.yml) - Install IIS feature with a configurable index.html +- [**WINDOWS / Patching**](patching.yml) - Apply Windows updates by category and create report +- [**WINDOWS / Chocolatey install multiple**](windows_choco_multiple.yml) - Install multiple packages using Chocolatey and check versions +- [**WINDOWS / Chocolatey install specific**](windows_choco_specific.yml) - Install a single given package using Chocolatey +- [**WINDOWS / Arbitrary Powershell**](arbitrary_powershell.yml) - Run given Powershell script (default: retrieve cat fact from API) +- [**WINDOWS / Powershell Script**](powershell_script.yml) - Run a Powershell script stored in source control to query services +- [**WINDOWS / Powershell DSC configuring password requirements**](powershell_dsc.yml) - Configure password complexity with Powershell desired state config +- [**WINDOWS / Create Active Directory Domain**](active_directory/create_ad_domain.yml) - Create a new AD Domain +- [**WINDOWS / Helpdesk new user portal**](active_directory/helpdesk_new_user_portal.yml) - Create user in AD Domain + +## Suggested Usage From aec16ad9cbfc16ef79889f9738d0cb8fb966db52 Mon Sep 17 00:00:00 2001 From: willtome Date: Wed, 3 Aug 2022 15:54:41 -0400 Subject: [PATCH 08/61] add suggested usage --- windows/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/windows/README.md b/windows/README.md index 518f4c7..24705f3 100644 --- a/windows/README.md +++ b/windows/README.md @@ -23,3 +23,7 @@ This category of demos shows examples of Windows Server operations and managemen - [**WINDOWS / Helpdesk new user portal**](active_directory/helpdesk_new_user_portal.yml) - Create user in AD Domain ## Suggested Usage + +**WINDOWS / Create Active Directory Domain** - This job can take some to complete. It is recommended to run ahead of time if you would like to demo creating a helpdesk user. + +**WINDOWS / Helpdesk new user portal** - This job is dependant on the Create Active Directory Domain completing before users can be created. From 1b064a068ba17ff49993b6b4aac4a00ce9627e98 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 4 Aug 2022 15:49:05 -0400 Subject: [PATCH 09/61] log demo --- setup_demo.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/setup_demo.yml b/setup_demo.yml index 25accf5..f1910cd 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -14,7 +14,14 @@ when: - controller_components | d("") | length > 0 + - name: Log Demo + ansible.builtin.uri: + url: https://docs.google.com/forms/d/e/1FAIpQLSdIZ77YpETjEfGOoYlXtMnQiU-6M7QFlb2hJA4ujo25QYb2jw/formResponse + method: POST + body: "ifq&entry.1569353616={{ demo }} &entry.498055740={{ ansible.builtin.lookup('env', 'AWX_HOST') }}&sumbit=Submit" + ignore_errors: true + - name: Print Message debug: msg: "{{ user_message }}" - when: user_message is defined \ No newline at end of file + when: user_message is defined From f4fdf122b315dfd99e6e99e26c104199b81ccf07 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 4 Aug 2022 15:53:31 -0400 Subject: [PATCH 10/61] DERP --- setup_demo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_demo.yml b/setup_demo.yml index f1910cd..c74dde2 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -18,7 +18,7 @@ ansible.builtin.uri: url: https://docs.google.com/forms/d/e/1FAIpQLSdIZ77YpETjEfGOoYlXtMnQiU-6M7QFlb2hJA4ujo25QYb2jw/formResponse method: POST - body: "ifq&entry.1569353616={{ demo }} &entry.498055740={{ ansible.builtin.lookup('env', 'AWX_HOST') }}&sumbit=Submit" + body: "ifq&entry.1569353616={{ demo }} &entry.498055740={{ lookup('ansible.builtin.env', 'AWX_HOST') }}&sumbit=Submit" ignore_errors: true - name: Print Message From 261afdabcb1e36168defe0b238427d73f9a5f6c5 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 18 Aug 2022 16:04:29 -0400 Subject: [PATCH 11/61] network demos --- linux/setup.yml | 2 +- network/README.md | 9 +++++++ network/setup.yml | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 network/README.md create mode 100644 network/setup.yml diff --git a/linux/setup.yml b/linux/setup.yml index 6a9ca77..1f4bf2b 100644 --- a/linux/setup.yml +++ b/linux/setup.yml @@ -1,5 +1,5 @@ --- -user_message: | +user_message: - Be sure to update the 'activation_key' and 'org_id' extra variables for 'LINUX / Register'. https://access.redhat.com/management/activation_keys - Update Credential for Insights Inventory with Red Hat account. - Add variables for system_roles. https://console.redhat.com/ansible/automation-hub/repo/published/redhat/rhel_system_roles diff --git a/network/README.md b/network/README.md new file mode 100644 index 0000000..ca97db3 --- /dev/null +++ b/network/README.md @@ -0,0 +1,9 @@ +# Network Demos + +## Table of Contents +- [Network Demos](#network-demos) + - [Table of Contents](#table-of-contents) + - [About These Demos](#about-these-demos) + +## About These Demos +This category of demos shows examples of network operations and management with Ansible Automation Platform. diff --git a/network/setup.yml b/network/setup.yml new file mode 100644 index 0000000..0db0ec4 --- /dev/null +++ b/network/setup.yml @@ -0,0 +1,61 @@ +--- +user_message: + +controller_components: + - organizations + - projects + - inventory + - inventory_sources + - job_templates + +controller_organizations: + - name: Networking + +controller_projects: + - name: Network Golden Configs + organization: Networking + scm_type: git + scm_url: https://github.com/nleiva/ansible-net-modules + update_project: yes + wait: yes + +controller_inventories: + - name: Network Inventory + organization: Networking + +controller_inventory_sources: + - name: DevNet always-on sandboxes + source: scm + inventory: Network Inventory + overwrite: true + source_project: Network Golden Configs + source_path: hosts + +controller_templates: + - name: NETWORK / Configuration + organization: Networking + inventory: Network Inventory + survey_enabled: true + project: Network Golden Configs + playbook: main.yml + ask_limit_on_launch: true + survey: + name: '' + description: '' + spec: + - question_name: What resource would you like to configure? + type: multiplechoice + variable: rm + required: true + choices: + - acls + - banner + - bgp_global + - hostname + - l3_interface + - logging + - ntp + - ospfv2 + - prefix_lists + - snmp + - user From 4f08e90d6bc2d0192b044a441c8cce98d9228478 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 18 Aug 2022 16:10:25 -0400 Subject: [PATCH 12/61] change role name --- network/setup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/setup.yml b/network/setup.yml index 0db0ec4..536dc80 100644 --- a/network/setup.yml +++ b/network/setup.yml @@ -4,7 +4,7 @@ user_message: controller_components: - organizations - projects - - inventory + - inventories - inventory_sources - job_templates From 5f643fc3a111c5a294e4cc65b80be02631c2ab33 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 18 Aug 2022 16:22:09 -0400 Subject: [PATCH 13/61] source update --- network/setup.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/network/setup.yml b/network/setup.yml index 536dc80..4b2e529 100644 --- a/network/setup.yml +++ b/network/setup.yml @@ -6,6 +6,7 @@ controller_components: - projects - inventories - inventory_sources + - inventory_source_update - job_templates controller_organizations: From 26c225f4e05b7790a826103f0a6ac86273d5fd29 Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 19 Aug 2022 11:21:59 -0400 Subject: [PATCH 14/61] add hub creds --- network/setup.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/network/setup.yml b/network/setup.yml index 4b2e529..f2c2cc6 100644 --- a/network/setup.yml +++ b/network/setup.yml @@ -11,6 +11,9 @@ controller_components: controller_organizations: - name: Networking + galaxy_credentials: + - Automation Hub + - Ansible Galaxy controller_projects: - name: Network Golden Configs @@ -40,6 +43,7 @@ controller_templates: project: Network Golden Configs playbook: main.yml ask_limit_on_launch: true + use_fact_cache: yes survey: name: '' description: '' From 4368a1ad93cf5c80c57f8d6a17dc860bfc033286 Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 19 Aug 2022 12:13:14 -0400 Subject: [PATCH 15/61] add readme --- network/README.md | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/network/README.md b/network/README.md index ca97db3..3f2406f 100644 --- a/network/README.md +++ b/network/README.md @@ -4,6 +4,35 @@ - [Network Demos](#network-demos) - [Table of Contents](#table-of-contents) - [About These Demos](#about-these-demos) + - [Project](#project) + - [Inventory](#inventory) + - [Suggested Usage](#suggested-usage) ## About These Demos -This category of demos shows examples of network operations and management with Ansible Automation Platform. +This category of demos shows examples of network operations and management with Ansible Automation Platform. The list of demos can be found below. See the [Suggested Usage](#suggested-usage) section of this document for recommendations on how to best use these demos. +- [**NETWORK / Configuration**](https://github.com/nleiva/ansible-net-modules/blob/main/main.yml) - Deploy golden configurations for different resources to Cisco IOS, IOSXR, and NXOS. + +### Project + +These demos leverage playbooks from a [git repo](https://github.com/nleiva/ansible-net-modules) that is added as the **`Network Golden Configs`** Project in your Ansible Controller. Review this repo for the playbooks to configure different resources and network config templates that will be configured. + +### Inventory + +These demos leverage "always-on" instances for Cisco IOS, IOSXR, and NXOS from [Cisco DevNet Sandboxes](https://developer.cisco.com/docs/sandbox/#!getting-started/always-on-sandboxes). These instances are shared and do not provide admin access but they are instantly avaible all the time meaning not setup time is required. + +A **`Network Inventory`** is created when setting up these demos and a dynamic source is added to populate the Always-On instances. Review the inventory file [here](https://github.com/nleiva/ansible-net-modules/blob/main/hosts). + +## Suggested Usage + +**NETWORK / Configuration** - Use this job to execute different [Ansible Network Resource Modules](https://docs.ansible.com/ansible/latest/network/user_guide/network_resource_modules.html) to deploy golden configs. Below is a list of the different resources the can be configured with a link to their golden config. + - [acls](https://github.com/nleiva/ansible-net-modules/blob/main/acls.cfg) + - [banner](https://github.com/nleiva/ansible-net-modules/blob/main/banner.cfg) + - [bgp_global](https://github.com/nleiva/ansible-net-modules/blob/main/bgp_global.cfg) + - [hostname](https://github.com/nleiva/ansible-net-modules/blob/main/hostname.cfg) + - [l3_interface](https://github.com/nleiva/ansible-net-modules/blob/main/l3_interface.cfg) + - [logging](https://github.com/nleiva/ansible-net-modules/blob/main/logging.cfg) + - [ntp](https://github.com/nleiva/ansible-net-modules/blob/main/ntp.cfg) + - [ospfv2](https://github.com/nleiva/ansible-net-modules/blob/main/ospfv2.cfg) + - [prefix_lists](https://github.com/nleiva/ansible-net-modules/blob/main/prefix_lists.cfg) + - [snmp](https://github.com/nleiva/ansible-net-modules/blob/main/snmp.cfg) + - [user](https://github.com/nleiva/ansible-net-modules/blob/main/user.cfg) From 3e2606c9f4dd2b496982e66cff8b59ec35a911fb Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 19 Aug 2022 13:18:21 -0400 Subject: [PATCH 16/61] add main readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b6d08c4..665c9da 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ This is a centralized location for all Ansible Product Demos going forward. | [Linux](linux/README.md) | Repository of demos for RHEL and Linux automation | | [Windows](windows/README.md) | Repository of demos for Windows Server automation | | [Cloud](cloud/README.md) | Demo for infrastructure and cloud provisioning automation | +| [Network](network/README.md) | Ansible Network automation demos | ## Contributions @@ -35,4 +36,4 @@ If you would like to contribute to this project please refer to [contribution gu - Name: Controller Credential - Extra vars: - demo: + demo: From 9c5cc4e4c0b3705f5e9eb197e90c0960fbdeb961 Mon Sep 17 00:00:00 2001 From: dlemons-redhat <69318976+dlemons-redhat@users.noreply.github.com> Date: Wed, 31 Aug 2022 18:48:48 -0400 Subject: [PATCH 17/61] typo, no biggie (#23) https://knowyourmeme.com/memes/but-its-honest-work --- playbooks/infrastructure/aws_provision_vm.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/infrastructure/aws_provision_vm.yml b/playbooks/infrastructure/aws_provision_vm.yml index 23b86c2..c70739e 100644 --- a/playbooks/infrastructure/aws_provision_vm.yml +++ b/playbooks/infrastructure/aws_provision_vm.yml @@ -13,7 +13,7 @@ ami_id: ami-096fda3c22c1c990a when: aws_region == "us-east-1" - - name: Setting the correct AMI per us-east-1 + - name: Setting the correct AMI per us-west-1 set_fact: ami_id: ami-09d9c5cdcfb8fc655 when: aws_region == "us-west-1" @@ -55,4 +55,4 @@ image_id: "{{ ami_id }}" wait: yes name: "{{ instance_name }}" - register: ec2 \ No newline at end of file + register: ec2 From 980e54189677ee4f5a21802f39becab9bec07280 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 11:41:24 -0400 Subject: [PATCH 18/61] add notification --- linux/setup.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ setup_demo.yml | 12 +++++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/linux/setup.yml b/linux/setup.yml index 1f4bf2b..13ccf59 100644 --- a/linux/setup.yml +++ b/linux/setup.yml @@ -57,6 +57,9 @@ controller_templates: project: "Ansible official demo project" playbook: "linux/ec2_register.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -83,12 +86,16 @@ controller_templates: type: text variable: ansible_group required: true + - name: "LINUX / Troubleshoot" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/tshoot.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry use_fact_cache: true credentials: - "Workshop Credential" @@ -101,12 +108,16 @@ controller_templates: type: text variable: HOSTS required: true + - name: "LINUX / Temporary Sudo" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/temp_sudo.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -127,12 +138,16 @@ controller_templates: variable: sudo_time default: 10 required: true + - name: "LINUX / Patching" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/patching.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry use_fact_cache: true job_type: check ask_job_type_on_launch: yes @@ -147,12 +162,16 @@ controller_templates: type: text variable: HOSTS required: true + - name: "LINUX / Start Service" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/service_start.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry use_fact_cache: true credentials: - "Workshop Credential" @@ -169,12 +188,16 @@ controller_templates: type: text variable: service_name required: true + - name: "LINUX / Stop Service" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/service_stop.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry use_fact_cache: true credentials: - "Workshop Credential" @@ -191,12 +214,16 @@ controller_templates: type: text variable: service_name required: true + - name: "LINUX / Run Shell Script" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/run_script.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -212,21 +239,29 @@ controller_templates: type: textarea variable: shell_script required: true + - name: "LINUX / Fact Scan" project: Fact Scan playbook: scan_facts.yml inventory: Workshop Inventory execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry ask_limit_on_launch: true use_fact_cache: true credentials: - Workshop Credential + - name: "LINUX / Podman Webserver" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/podman.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -242,12 +277,16 @@ controller_templates: type: textarea variable: message required: true + - name: "LINUX / System Roles" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/system_roles.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry diff_mode: yes ask_job_type_on_launch: yes extra_vars: @@ -263,12 +302,16 @@ controller_templates: type: text variable: HOSTS required: true + - name: "LINUX / Compliance" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/compliance.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" extra_vars: diff --git a/setup_demo.yml b/setup_demo.yml index c74dde2..50cfecc 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -3,8 +3,18 @@ gather_facts: no vars_files: - "{{demo}}/setup.yml" + vars: controller_validate_certs: false + default_components: + - controller_notifications + controller_notifications: + - name: Telemetry + organization: Default + notification_type: webhook + notification_configuration: + url: https://script.google.com/macros/s/AKfycbxSjCQ36cMWfWxG0dAjkL-gz-heiBcfLXFOOd0FV34JKXnagsCoAbOIa3q3Yr0YG91mHQ/exec + http_method: POST tasks: - name: Setup Components @@ -12,7 +22,7 @@ name: "redhat_cop.controller_configuration.{{ item }}" loop: "{{ controller_components }}" when: - - controller_components | d("") | length > 0 + - default_components + configuration_components | d("") | length > 0 - name: Log Demo ansible.builtin.uri: From c2145729245dd17cf484e3a1f6406b35e8cac790 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 11:47:05 -0400 Subject: [PATCH 19/61] fix var --- setup_demo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_demo.yml b/setup_demo.yml index 50cfecc..69e63d1 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -22,7 +22,7 @@ name: "redhat_cop.controller_configuration.{{ item }}" loop: "{{ controller_components }}" when: - - default_components + configuration_components | d("") | length > 0 + - (default_components + configuration_components) | d("") | length > 0 - name: Log Demo ansible.builtin.uri: From e40e5ad1e7232508684d17534b194da82beb5d53 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 11:49:59 -0400 Subject: [PATCH 20/61] fix var --- setup_demo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_demo.yml b/setup_demo.yml index 69e63d1..d5fdf52 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -22,7 +22,7 @@ name: "redhat_cop.controller_configuration.{{ item }}" loop: "{{ controller_components }}" when: - - (default_components + configuration_components) | d("") | length > 0 + - (default_components + controller_components) | d("") | length > 0 - name: Log Demo ansible.builtin.uri: From 38fe6043bb06a2478a97138ecc51c48faa74479b Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 12:50:25 -0400 Subject: [PATCH 21/61] fix var --- setup_demo.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/setup_demo.yml b/setup_demo.yml index d5fdf52..187113f 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -17,12 +17,27 @@ http_method: POST tasks: - - name: Setup Components + - name: Default Components + include_role: + name: "redhat_cop.controller_configuration.{{ item }}" + loop: "{{ controller_components }}" + vars: + contoller_components: + - controller_notifications + controller_notifications: + - name: Telemetry + organization: Default + notification_type: webhook + notification_configuration: + url: https://script.google.com/macros/s/AKfycbxSjCQ36cMWfWxG0dAjkL-gz-heiBcfLXFOOd0FV34JKXnagsCoAbOIa3q3Yr0YG91mHQ/exec + http_method: POST + + - name: Demo Components include_role: name: "redhat_cop.controller_configuration.{{ item }}" loop: "{{ controller_components }}" when: - - (default_components + controller_components) | d("") | length > 0 + - controller_components | d("") | length > 0 - name: Log Demo ansible.builtin.uri: From 6691ef51305b0d8888e90b1bfdb8de1305becd87 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 13:29:51 -0400 Subject: [PATCH 22/61] fix vars --- setup_demo.yml | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/setup_demo.yml b/setup_demo.yml index 187113f..d1f5d87 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -1,20 +1,6 @@ --- - hosts: localhost gather_facts: no - vars_files: - - "{{demo}}/setup.yml" - - vars: - controller_validate_certs: false - default_components: - - controller_notifications - controller_notifications: - - name: Telemetry - organization: Default - notification_type: webhook - notification_configuration: - url: https://script.google.com/macros/s/AKfycbxSjCQ36cMWfWxG0dAjkL-gz-heiBcfLXFOOd0FV34JKXnagsCoAbOIa3q3Yr0YG91mHQ/exec - http_method: POST tasks: - name: Default Components @@ -32,6 +18,9 @@ url: https://script.google.com/macros/s/AKfycbxSjCQ36cMWfWxG0dAjkL-gz-heiBcfLXFOOd0FV34JKXnagsCoAbOIa3q3Yr0YG91mHQ/exec http_method: POST + - name: "include configuration for {{ demo }}" + include_vars: "{{demo}}/setup.yml" + - name: Demo Components include_role: name: "redhat_cop.controller_configuration.{{ item }}" From 55c98c95e13559bda7edee8e73fa424ace3dc7fd Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 13:32:28 -0400 Subject: [PATCH 23/61] fix vars --- setup_demo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_demo.yml b/setup_demo.yml index d1f5d87..efb683b 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -8,7 +8,7 @@ name: "redhat_cop.controller_configuration.{{ item }}" loop: "{{ controller_components }}" vars: - contoller_components: + controller_components: - controller_notifications controller_notifications: - name: Telemetry From 7ab3b994e1358969c84798438e338caaf68fbee1 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 13:40:07 -0400 Subject: [PATCH 24/61] fix vars --- setup_demo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_demo.yml b/setup_demo.yml index efb683b..38201ac 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -10,7 +10,7 @@ vars: controller_components: - controller_notifications - controller_notifications: + controller_notification_templates: - name: Telemetry organization: Default notification_type: webhook From c368a42667a7ce1ceed6c74dc761dcadbba63b3c Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 13:43:40 -0400 Subject: [PATCH 25/61] fix vars --- setup_demo.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup_demo.yml b/setup_demo.yml index 38201ac..d840864 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -9,8 +9,8 @@ loop: "{{ controller_components }}" vars: controller_components: - - controller_notifications - controller_notification_templates: + - notification_templates + controller_notifications: - name: Telemetry organization: Default notification_type: webhook From 602c32dd52a1e4aaa7c120a8978b360726d9db79 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 13:46:41 -0400 Subject: [PATCH 26/61] fix vars --- setup_demo.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/setup_demo.yml b/setup_demo.yml index d840864..a2212fb 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -17,6 +17,7 @@ notification_configuration: url: https://script.google.com/macros/s/AKfycbxSjCQ36cMWfWxG0dAjkL-gz-heiBcfLXFOOd0FV34JKXnagsCoAbOIa3q3Yr0YG91mHQ/exec http_method: POST + headers: {} - name: "include configuration for {{ demo }}" include_vars: "{{demo}}/setup.yml" From 1dbc14f10d673fedb95f653785dc7b810fec6f99 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 14:50:51 -0400 Subject: [PATCH 27/61] add telemetry --- cloud/setup.yml | 12 +++- linux/setup.yml | 3 +- network/setup.yml | 3 + windows/setup.yml | 143 +++++++++++++++++++++++++++------------------- 4 files changed, 100 insertions(+), 61 deletions(-) diff --git a/cloud/setup.yml b/cloud/setup.yml index dc61b61..fd7dad5 100644 --- a/cloud/setup.yml +++ b/cloud/setup.yml @@ -70,6 +70,9 @@ controller_templates: playbook: cloud/create_infra.yml inventory: Workshop Inventory execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry survey_enabled: true extra_vars: aws_region: us-east-2 @@ -88,6 +91,7 @@ controller_templates: type: textarea required: false variable: aws_public_key + - name: Cloud / Create VM job_type: run organization: Default @@ -99,6 +103,9 @@ controller_templates: playbook: cloud/create_vm.yml inventory: Workshop Inventory execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry survey_enabled: true extra_vars: aws_region: us-east-2 @@ -130,6 +137,7 @@ controller_templates: - windows_full - rhel8 - rhel7 + - name: Cloud / Destroy VM job_type: run organization: Default @@ -141,6 +149,9 @@ controller_templates: playbook: cloud/destroy_vm.yml inventory: Workshop Inventory execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry survey_enabled: true extra_vars: aws_region: us-east-2 @@ -152,4 +163,3 @@ controller_templates: type: text variable: HOSTS required: true - diff --git a/linux/setup.yml b/linux/setup.yml index 13ccf59..eac25be 100644 --- a/linux/setup.yml +++ b/linux/setup.yml @@ -140,7 +140,7 @@ controller_templates: required: true - name: "LINUX / Patching" - job_type: run + job_type: check inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/patching.yml" @@ -149,7 +149,6 @@ controller_templates: notification_templates_success: Telemetry notification_templates_error: Telemetry use_fact_cache: true - job_type: check ask_job_type_on_launch: yes credentials: - "Workshop Credential" diff --git a/network/setup.yml b/network/setup.yml index f2c2cc6..1764620 100644 --- a/network/setup.yml +++ b/network/setup.yml @@ -42,6 +42,9 @@ controller_templates: survey_enabled: true project: Network Golden Configs playbook: main.yml + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry ask_limit_on_launch: true use_fact_cache: yes survey: diff --git a/windows/setup.yml b/windows/setup.yml index 6b42eda..09ca311 100644 --- a/windows/setup.yml +++ b/windows/setup.yml @@ -19,6 +19,9 @@ controller_templates: project: "Ansible official demo project" playbook: "windows/install_iis.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -43,6 +46,9 @@ controller_templates: project: "Ansible official demo project" playbook: "windows/patching.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -86,6 +92,9 @@ controller_templates: project: "Ansible official demo project" playbook: "windows/windows_choco_multiple.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -104,6 +113,9 @@ controller_templates: project: "Ansible official demo project" playbook: "windows/windows_choco_specific.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -125,6 +137,9 @@ controller_templates: project: "Ansible official demo project" playbook: "windows/arbitrary_powershell.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -148,6 +163,9 @@ controller_templates: project: "Ansible official demo project" playbook: "windows/powershell_script.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -174,6 +192,9 @@ controller_templates: project: "Ansible official demo project" playbook: "windows/powershell_dsc.yml" execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry credentials: - "Workshop Credential" survey_enabled: true @@ -186,62 +207,68 @@ controller_templates: variable: HOSTS required: false - - name: "ACTIVE DIRECTORY / Create Active Directory domain" - job_type: run - inventory: "Workshop Inventory" - project: "Ansible official demo project" - playbook: "windows/active_directory/create_ad_domain.yml" - execution_environment: Default execution environment - credentials: - - "Workshop Credential" - survey_enabled: true - survey: - name: '' - description: '' - spec: - - question_name: Server Name or Pattern - type: text - variable: HOSTS - required: false +# - name: "ACTIVE DIRECTORY / Create Active Directory domain" +# job_type: run +# inventory: "Workshop Inventory" +# project: "Ansible official demo project" +# playbook: "windows/active_directory/create_ad_domain.yml" +# execution_environment: Default execution environment +# notification_templates_started: Telemetry +# notification_templates_success: Telemetry +# notification_templates_error: Telemetry +# credentials: +# - "Workshop Credential" +# survey_enabled: true +# survey: +# name: '' +# description: '' +# spec: +# - question_name: Server Name or Pattern +# type: text +# variable: HOSTS +# required: false - - name: "ACTIVE DIRECTORY / Helpdesk new user portal" - job_type: run - inventory: "Workshop Inventory" - project: "Ansible official demo project" - playbook: "windows/active_directory/helpdesk_new_user_portal.yml" - execution_environment: Default execution environment - credentials: - - "Workshop Credential" - survey_enabled: true - survey: - name: '' - description: '' - spec: - - question_name: Firstname - type: text - variable: firstname - required: true - - question_name: Surname - type: text - variable: surname - required: true - - question_name: Street - type: text - variable: street - default: 123 4th St. - required: false - - question_name: City - type: text - variable: city - default: Sometown - required: false - - question_name: Postal code - type: text - variable: postal_code - default: IN - required: false - - question_name: Telephone number - type: text - variable: telephone_number - default: 555-123456 - required: false \ No newline at end of file +# - name: "ACTIVE DIRECTORY / Helpdesk new user portal" +# job_type: run +# inventory: "Workshop Inventory" +# project: "Ansible official demo project" +# playbook: "windows/active_directory/helpdesk_new_user_portal.yml" +# execution_environment: Default execution environment +# notification_templates_started: Telemetry +# notification_templates_success: Telemetry +# notification_templates_error: Telemetry +# credentials: +# - "Workshop Credential" +# survey_enabled: true +# survey: +# name: '' +# description: '' +# spec: +# - question_name: Firstname +# type: text +# variable: firstname +# required: true +# - question_name: Surname +# type: text +# variable: surname +# required: true +# - question_name: Street +# type: text +# variable: street +# default: 123 4th St. +# required: false +# - question_name: City +# type: text +# variable: city +# default: Sometown +# required: false +# - question_name: Postal code +# type: text +# variable: postal_code +# default: IN +# required: false +# - question_name: Telephone number +# type: text +# variable: telephone_number +# default: 555-123456 +# required: false From d1e9461514b55c7c739d298177837297ace046b3 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 16:44:06 -0400 Subject: [PATCH 28/61] update telemetry --- setup_demo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_demo.yml b/setup_demo.yml index a2212fb..2168817 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -15,7 +15,7 @@ organization: Default notification_type: webhook notification_configuration: - url: https://script.google.com/macros/s/AKfycbxSjCQ36cMWfWxG0dAjkL-gz-heiBcfLXFOOd0FV34JKXnagsCoAbOIa3q3Yr0YG91mHQ/exec + url: https://script.google.com/macros/s/AKfycbzxUObvCJ6ZbzfJyicw4RvxlGE3AZdrK4AR5-TsedCYd7O-rtTOVjvsRvqyb3rx6B0g8g/exec http_method: POST headers: {} From e8a3d5e60f4e093d603f873a63c351586c25272b Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 17:05:50 -0400 Subject: [PATCH 29/61] add feedback --- setup_demo.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/setup_demo.yml b/setup_demo.yml index 2168817..958c1fb 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -10,6 +10,7 @@ vars: controller_components: - notification_templates + - job_templates controller_notifications: - name: Telemetry organization: Default @@ -18,6 +19,29 @@ url: https://script.google.com/macros/s/AKfycbzxUObvCJ6ZbzfJyicw4RvxlGE3AZdrK4AR5-TsedCYd7O-rtTOVjvsRvqyb3rx6B0g8g/exec http_method: POST headers: {} + controller_job_templates: + - name: "FEEDBACK" + job_type: run + inventory: "Workshop Inventory" + project: "Ansible official demo project" + playbook: "feedback.yml" + execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry + survey_enabled: true + survey: + name: '' + description: '' + spec: + - question_name: Name/Email/Contact + type: text + variable: email + required: true + - question_name: Issue or Feedback + type: textarea + variable: feedback + required: true - name: "include configuration for {{ demo }}" include_vars: "{{demo}}/setup.yml" From 39db11e20055a77c6c76882ea43c5df472682162 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 17:10:21 -0400 Subject: [PATCH 30/61] add feedback --- setup_demo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_demo.yml b/setup_demo.yml index 958c1fb..06447ec 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -19,7 +19,7 @@ url: https://script.google.com/macros/s/AKfycbzxUObvCJ6ZbzfJyicw4RvxlGE3AZdrK4AR5-TsedCYd7O-rtTOVjvsRvqyb3rx6B0g8g/exec http_method: POST headers: {} - controller_job_templates: + controller_templates: - name: "FEEDBACK" job_type: run inventory: "Workshop Inventory" From 2b613bcac862408abc03e3784fba4ec302788612 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 8 Sep 2022 17:12:20 -0400 Subject: [PATCH 31/61] add feedback --- feedback.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 feedback.yml diff --git a/feedback.yml b/feedback.yml new file mode 100644 index 0000000..810ab1e --- /dev/null +++ b/feedback.yml @@ -0,0 +1,13 @@ +--- +- hosts: localhost + gather_facts: no + tasks: + - name: Submit Feedback + ansible.builtin.uri: + url: https://docs.google.com/forms/d/e/1FAIpQLSfTq7Dm0hw0sOthHTH2F6wbwwJc-fsJPbn72IZX4CY7p4uGBg/formResponse + method: POST + body: "ifq&entry.1139138403={{ email }} &entry.735882959={{ feedback }}&sumbit=Submit" + + - name: Thank you + debug: + msg: Thank you for your feedback! From 240774c2c33f3b32b2edb3b123b42a495ca2b757 Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 9 Sep 2022 13:03:31 -0400 Subject: [PATCH 32/61] update windows stuff --- ...rbitrary_powershell.yml => powershell.yml} | 2 +- windows/powershell_script.yml | 4 +-- .../{sample_script.ps1 => query_services.ps1} | 0 windows/setup.yml | 26 ++++++++++++++----- 4 files changed, 22 insertions(+), 10 deletions(-) rename windows/{arbitrary_powershell.yml => powershell.yml} (90%) rename windows/{sample_script.ps1 => query_services.ps1} (100%) diff --git a/windows/arbitrary_powershell.yml b/windows/powershell.yml similarity index 90% rename from windows/arbitrary_powershell.yml rename to windows/powershell.yml index 90d608d..ccba36f 100644 --- a/windows/arbitrary_powershell.yml +++ b/windows/powershell.yml @@ -1,5 +1,5 @@ --- -- name: Arbitrary PowerShell +- name: Run PowerShell hosts: "{{ HOSTS | default('windows') }}" gather_facts: false vars: diff --git a/windows/powershell_script.yml b/windows/powershell_script.yml index 122e5ff..48ca142 100644 --- a/windows/powershell_script.yml +++ b/windows/powershell_script.yml @@ -3,11 +3,11 @@ hosts: "{{ HOSTS | default('windows') }}" gather_facts: false vars: - remote_dest: "C:\\sample_script.ps1" + remote_dest: "C:\\query_services.ps1" tasks: - name: Copy script to remote ansible.windows.win_copy: - src: "{{playbook_dir}}/sample_script.ps1" + src: "{{playbook_dir}}/query_services.ps1" dest: "{{ remote_dest }}" - name: Run Script diff --git a/windows/sample_script.ps1 b/windows/query_services.ps1 similarity index 100% rename from windows/sample_script.ps1 rename to windows/query_services.ps1 diff --git a/windows/setup.yml b/windows/setup.yml index 09ca311..63385ac 100644 --- a/windows/setup.yml +++ b/windows/setup.yml @@ -64,7 +64,18 @@ controller_templates: type: multiselect variable: win_update_categories required: false - default: SecurityUpdates + default: + - Application + - Connectors + - CriticalUpdates + - DefinitionUpdates + - DeveloperKits + - FeaturePacks Guidance + - SecurityUpdates + - ServicePacks + - Tools + - UpdateRollups + - Updates choices: - Application - Connectors @@ -131,11 +142,12 @@ controller_templates: type: text variable: package_name required: true - - name: "WINDOWS / Arbitrary PowerShell" + + - name: "WINDOWS / Run PowerShell" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" - playbook: "windows/arbitrary_powershell.yml" + playbook: "windows/powershell.yml" execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry @@ -151,13 +163,13 @@ controller_templates: type: text variable: HOSTS required: false - - question_name: PowerShell Script (Default returns random cat fact) + - question_name: PowerShell Script type: textarea variable: ps_script - default: "(Invoke-RestMethod -Method 'GET' -Uri 'https://catfact.ninja/fact').fact" + default: "Get-Service | Where-Object -FilterScript running | Select-Object -Property 'Name'" required: true - - name: "WINDOWS / PowerShell Script" + - name: "WINDOWS / Query Services" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" @@ -186,7 +198,7 @@ controller_templates: - 'Running' - 'Stopped' - - name: "WINDOWS / PowerShell DSC configuring password requirements" + - name: "WINDOWS / Configuring Password Requirements" job_type: run inventory: "Workshop Inventory" project: "Ansible official demo project" From f372a39c6c75a992af4e11f226f289785de9689e Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 9 Sep 2022 14:40:59 -0400 Subject: [PATCH 33/61] bugs --- windows/powershell_dsc.yml | 1 + windows/setup.yml | 2 +- windows/windows_choco_multiple.yml | 4 +--- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/windows/powershell_dsc.yml b/windows/powershell_dsc.yml index 7db3657..f283041 100644 --- a/windows/powershell_dsc.yml +++ b/windows/powershell_dsc.yml @@ -9,6 +9,7 @@ name: SecurityPolicyDSC module_version: 2.10.0.0 state: present + accept_license: yes - name: Set password history ansible.windows.win_dsc: diff --git a/windows/setup.yml b/windows/setup.yml index 63385ac..91c0947 100644 --- a/windows/setup.yml +++ b/windows/setup.yml @@ -166,7 +166,7 @@ controller_templates: - question_name: PowerShell Script type: textarea variable: ps_script - default: "Get-Service | Where-Object -FilterScript running | Select-Object -Property 'Name'" + default: "Get-Service | Where-Object -FilterScript {$_.Status -eq 'running'} | Select-Object -Property 'Name'" required: true - name: "WINDOWS / Query Services" diff --git a/windows/windows_choco_multiple.yml b/windows/windows_choco_multiple.yml index 83ea42b..d9c226d 100644 --- a/windows/windows_choco_multiple.yml +++ b/windows/windows_choco_multiple.yml @@ -5,14 +5,12 @@ vars: choco_packages: - name: nodejs - version: 13.0.0 - name: python - version: 3.6.0 tasks: - name: Install specific versions of packages sequentially win_chocolatey: name: "{{ item.name }}" - version: "{{ item.version }}" + state: latest loop: "{{ choco_packages }}" - name: Check python version From 70dec92c493f151fec4056c5501df16345218df8 Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 9 Sep 2022 14:52:58 -0400 Subject: [PATCH 34/61] bugs --- windows/setup.yml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/windows/setup.yml b/windows/setup.yml index 91c0947..4cc95fa 100644 --- a/windows/setup.yml +++ b/windows/setup.yml @@ -64,18 +64,7 @@ controller_templates: type: multiselect variable: win_update_categories required: false - default: - - Application - - Connectors - - CriticalUpdates - - DefinitionUpdates - - DeveloperKits - - FeaturePacks Guidance - - SecurityUpdates - - ServicePacks - - Tools - - UpdateRollups - - Updates + default: Application\nConnectors\nCriticalUpdates\nDefinitionUpdates\nDeveloperKits\nFeaturePacks Guidance\nSecurityUpdates\nServicePacks\nTools\nUpdateRollups\nUpdates choices: - Application - Connectors From 60f3e52013e3c5042bac444040ce941403b63d7f Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 9 Sep 2022 14:58:21 -0400 Subject: [PATCH 35/61] bugs --- windows/setup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/setup.yml b/windows/setup.yml index 4cc95fa..e9acff4 100644 --- a/windows/setup.yml +++ b/windows/setup.yml @@ -64,7 +64,7 @@ controller_templates: type: multiselect variable: win_update_categories required: false - default: Application\nConnectors\nCriticalUpdates\nDefinitionUpdates\nDeveloperKits\nFeaturePacks Guidance\nSecurityUpdates\nServicePacks\nTools\nUpdateRollups\nUpdates + default: SecurityUpdates choices: - Application - Connectors From fc5524637087f1d3802f2e9678a293eca4c564bc Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 9 Sep 2022 15:07:01 -0400 Subject: [PATCH 36/61] bugs --- collections/requirements.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/collections/requirements.yml b/collections/requirements.yml index 0d82843..a97d736 100644 --- a/collections/requirements.yml +++ b/collections/requirements.yml @@ -13,7 +13,8 @@ collections: - containers.podman #windows - chocolatey.chocolatey - - community.windows + - name: community.windows + version: 1.10.0 - name: ansible.windows version: 1.9.0 #cloud From b819dc218575e847d87f2a57b2db66d4040a521e Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 9 Sep 2022 15:23:00 -0400 Subject: [PATCH 37/61] add assert --- linux/ec2_register.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/linux/ec2_register.yml b/linux/ec2_register.yml index 258c190..c5df31b 100644 --- a/linux/ec2_register.yml +++ b/linux/ec2_register.yml @@ -3,6 +3,12 @@ become: yes tasks: + - name: check for vars + assert: + that: + - org_id is defined + - activation_key is defined + - name: set hostname hostname: name: "{{ inventory_hostname | regex_replace('_','-')}}" @@ -58,4 +64,4 @@ insights_tags: env: "{{ env }}" purpose: demo - group: "{{ ansible_group }}" \ No newline at end of file + group: "{{ ansible_group }}" From d5f48f3ac5d473307569d1737108a7cb793de0d0 Mon Sep 17 00:00:00 2001 From: willtome Date: Fri, 9 Sep 2022 16:07:35 -0400 Subject: [PATCH 38/61] add groups --- cloud/setup.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cloud/setup.yml b/cloud/setup.yml index fd7dad5..ab4dba8 100644 --- a/cloud/setup.yml +++ b/cloud/setup.yml @@ -36,11 +36,17 @@ controller_inventory_sources: - tag:Name compose: ansible_host: public_ip_address + ansible_user: 'ec2-user' groups: cloud_aws: true + os_linux: tags.blueprint.startswith('rhel') keyed_groups: - key: platform prefix: os + - key: tags.blueprint + prefix: blueprint + - key: tags.owner + prefix: owner #- name: Azure Inventory # organization: Default From dd57dec713671e02e6144e45cf8186dd4bc46d18 Mon Sep 17 00:00:00 2001 From: willtome Date: Mon, 12 Sep 2022 15:21:35 -0400 Subject: [PATCH 39/61] update AD jobs --- .../create_ad_domain.yml | 4 +- .../helpdesk_new_user_portal.yml | 0 windows/setup.yml | 128 +++++++++--------- 3 files changed, 66 insertions(+), 66 deletions(-) rename windows/{active_directory => }/create_ad_domain.yml (82%) rename windows/{active_directory => }/helpdesk_new_user_portal.yml (100%) diff --git a/windows/active_directory/create_ad_domain.yml b/windows/create_ad_domain.yml similarity index 82% rename from windows/active_directory/create_ad_domain.yml rename to windows/create_ad_domain.yml index 00ee7d2..2fee352 100644 --- a/windows/active_directory/create_ad_domain.yml +++ b/windows/create_ad_domain.yml @@ -7,7 +7,7 @@ - name: Create new domain in a new forest on the target host ansible.windows.win_domain: dns_domain_name: ansible.local - safe_mode_password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}" + safe_mode_password: "{{ ansible_password }}" register: new_forest - name: Reboot the target host @@ -36,7 +36,7 @@ community.windows.win_domain_user: name: "{{ item.name }}" groups: "{{ item.groups }}" - password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}" + password: "{{ ansible_password }}" update_password: on_create loop: - { name: "UserA", groups: "GroupA" } diff --git a/windows/active_directory/helpdesk_new_user_portal.yml b/windows/helpdesk_new_user_portal.yml similarity index 100% rename from windows/active_directory/helpdesk_new_user_portal.yml rename to windows/helpdesk_new_user_portal.yml diff --git a/windows/setup.yml b/windows/setup.yml index e9acff4..cddec4c 100644 --- a/windows/setup.yml +++ b/windows/setup.yml @@ -208,68 +208,68 @@ controller_templates: variable: HOSTS required: false -# - name: "ACTIVE DIRECTORY / Create Active Directory domain" -# job_type: run -# inventory: "Workshop Inventory" -# project: "Ansible official demo project" -# playbook: "windows/active_directory/create_ad_domain.yml" -# execution_environment: Default execution environment -# notification_templates_started: Telemetry -# notification_templates_success: Telemetry -# notification_templates_error: Telemetry -# credentials: -# - "Workshop Credential" -# survey_enabled: true -# survey: -# name: '' -# description: '' -# spec: -# - question_name: Server Name or Pattern -# type: text -# variable: HOSTS -# required: false + - name: "WINDOWS / AD /Create Domain" + job_type: run + inventory: "Workshop Inventory" + project: "Ansible official demo project" + playbook: "windows/create_ad_domain.yml" + execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry + credentials: + - "Workshop Credential" + survey_enabled: true + survey: + name: '' + description: '' + spec: + - question_name: Server Name or Pattern + type: text + variable: HOSTS + required: false -# - name: "ACTIVE DIRECTORY / Helpdesk new user portal" -# job_type: run -# inventory: "Workshop Inventory" -# project: "Ansible official demo project" -# playbook: "windows/active_directory/helpdesk_new_user_portal.yml" -# execution_environment: Default execution environment -# notification_templates_started: Telemetry -# notification_templates_success: Telemetry -# notification_templates_error: Telemetry -# credentials: -# - "Workshop Credential" -# survey_enabled: true -# survey: -# name: '' -# description: '' -# spec: -# - question_name: Firstname -# type: text -# variable: firstname -# required: true -# - question_name: Surname -# type: text -# variable: surname -# required: true -# - question_name: Street -# type: text -# variable: street -# default: 123 4th St. -# required: false -# - question_name: City -# type: text -# variable: city -# default: Sometown -# required: false -# - question_name: Postal code -# type: text -# variable: postal_code -# default: IN -# required: false -# - question_name: Telephone number -# type: text -# variable: telephone_number -# default: 555-123456 -# required: false + - name: "WINDOWS / AD / New User" + job_type: run + inventory: "Workshop Inventory" + project: "Ansible official demo project" + playbook: "windows/helpdesk_new_user_portal.yml" + execution_environment: Default execution environment + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry + credentials: + - "Workshop Credential" + survey_enabled: true + survey: + name: '' + description: '' + spec: + - question_name: Firstname + type: text + variable: firstname + required: true + - question_name: Surname + type: text + variable: surname + required: true + - question_name: Street + type: text + variable: street + default: 123 4th St. + required: false + - question_name: City + type: text + variable: city + default: Sometown + required: false + - question_name: Postal code + type: text + variable: postal_code + default: IN + required: false + - question_name: Telephone number + type: text + variable: telephone_number + default: 555-123456 + required: false From 4e40ffae3669d641183f3fdc499f7e32f65b8422 Mon Sep 17 00:00:00 2001 From: willtome Date: Mon, 12 Sep 2022 15:52:42 -0400 Subject: [PATCH 40/61] random pass --- windows/create_ad_domain.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/create_ad_domain.yml b/windows/create_ad_domain.yml index 2fee352..00ee7d2 100644 --- a/windows/create_ad_domain.yml +++ b/windows/create_ad_domain.yml @@ -7,7 +7,7 @@ - name: Create new domain in a new forest on the target host ansible.windows.win_domain: dns_domain_name: ansible.local - safe_mode_password: "{{ ansible_password }}" + safe_mode_password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}" register: new_forest - name: Reboot the target host @@ -36,7 +36,7 @@ community.windows.win_domain_user: name: "{{ item.name }}" groups: "{{ item.groups }}" - password: "{{ ansible_password }}" + password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}" update_password: on_create loop: - { name: "UserA", groups: "GroupA" } From efb75880e786059e226ec50f07af9e71a5b1bd86 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 15 Sep 2022 14:45:39 -0400 Subject: [PATCH 41/61] Add landing page (#25) * work on landing page * work on landing page * work on landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * add files * derp * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add ee * add ee * add ee * fix landing page * fix landing page * fix landing page * fix landing page * fix landing page * remove commented out sections --- .../roles/report_server/files/css/new.css | 202 ++++++++++++++++++ .../files/redhat-ansible-logo.svg | 48 +++++ .../roles/report_server/files/report.png | Bin 0 -> 2098 bytes .../report_server/files/webpage_logo.png | Bin 0 -> 45921 bytes .../roles/report_server/tasks/apache.yml | 8 +- .../roles/report_server/tasks/iis.yml | 6 +- .../tasks/linux_landing_page.yml | 34 +++ .../roles/report_server/tasks/main.yml | 6 + .../tasks/windows_landing_page.yml | 34 +++ .../roles/report_server/templates/header.j2 | 15 ++ .../report_server/templates/linux_report.j2 | 42 ++++ .../report_server/templates/windows_report.j2 | 42 ++++ .../roles/report_server/vars/Linux.yml | 3 + .../roles/report_server/vars/Win32NT.yml | 3 + .../roles/report_windows/tasks/main.yml | 2 +- linux/patching.yml | 31 +-- linux/setup.yml | 11 - windows/patching.yml | 17 +- 18 files changed, 458 insertions(+), 46 deletions(-) create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/files/css/new.css create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/files/redhat-ansible-logo.svg create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/files/report.png create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/files/webpage_logo.png create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/tasks/linux_landing_page.yml create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/tasks/main.yml create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/tasks/windows_landing_page.yml create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/templates/header.j2 create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/templates/linux_report.j2 create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/templates/windows_report.j2 create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/vars/Linux.yml create mode 100644 collections/ansible_collections/demo/patching/roles/report_server/vars/Win32NT.yml diff --git a/collections/ansible_collections/demo/patching/roles/report_server/files/css/new.css b/collections/ansible_collections/demo/patching/roles/report_server/files/css/new.css new file mode 100644 index 0000000..3266a46 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/files/css/new.css @@ -0,0 +1,202 @@ +p.hostname { + color: #000000; + font-weight: bolder; + font-size: large; + margin: auto; + width: 50%; + } + + #subtable { + background: #ebebeb; + margin: 0px; + width: 100%; + } + + #subtable tbody tr td { + padding: 5px 5px 5px 5px; + } + + #subtable thead th { + padding: 5px; + } + + * { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-family: "Open Sans", "Helvetica"; + + } + + a { + color: #000000; + } + + p { + color: #ffffff; + } + h1 { + text-align: center; + color: #ffffff; + } + + body { + background:#353a40; + padding: 0px; + margin: 0px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + } + + table { + border-collapse: separate; + background:#fff; + @include border-radius(5px); + @include box-shadow(0px 0px 5px rgba(0,0,0,0.3)); + } + + .main_net_table { + margin:50px auto; + } + + thead { + @include border-radius(5px); + } + + thead th { + font-size:16px; + font-weight:400; + color:#fff; + @include text-shadow(1px 1px 0px rgba(0,0,0,0.5)); + text-align:left; + padding:20px; + border-top:1px solid #858d99; + background: #353a40; + + &:first-child { + @include border-top-left-radius(5px); + } + + &:last-child { + @include border-top-right-radius(5px); + } + } + + tbody tr td { + font-weight:400; + color:#5f6062; + font-size:13px; + padding:20px 20px 20px 20px; + border-bottom:1px solid #e0e0e0; + } + + tbody tr:nth-child(2n) { + background:#f0f3f5; + } + + tbody tr:last-child td { + border-bottom:none; + &:first-child { + @include border-bottom-left-radius(5px); + } + &:last-child { + @include border-bottom-right-radius(5px); + } + } + + td { + vertical-align: top; + } + + span.highlight { + background-color: yellow; + } + + .expandclass { + color: #5f6062; + } + + .content{ + display:none; + margin: 10px; + } + + header { + width: 100%; + position: initial; + float: initial; + padding: 0; + margin: 0; + border-radius: 0; + height: 88px; + background-color: #171717; + } + + .header-container { + margin: 0 auto; + width: 100%; + height: 100%; + max-width: 1170px; + padding: 0; + float: initial; + display: flex; + align-items: center; + } + + .header-logo { + width: 137px; + border: 0; + margin: 0; + margin-left: 15px; + } + + .header-link { + margin-left: 40px; + text-decoration: none; + cursor: pointer; + text-transform: uppercase; + font-size: 15px; + font-family: 'Red Hat Text'; + font-weight: 500; + } + + .header-link:hover { + text-shadow: 0 0 0.02px white; + text-decoration: none; + } + + table.net_info td { + padding: 5px; +} + +p.expandclass:hover { + text-decoration: underline; + color: #EE0000; + cursor: pointer; +} + +.summary_info { +} + +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { + border: 1px solid #5F0000; + background: #EE0000; +} + +div#net_content { + padding: 0px; + height: auto !important; +} + +img.router_image { + vertical-align: middle; + padding: 0px 10px 10px 10px; + width: 50px; +} + +table.net_info { + width: 100%; +} + +p.internal_label { + color: #000000; +} diff --git a/collections/ansible_collections/demo/patching/roles/report_server/files/redhat-ansible-logo.svg b/collections/ansible_collections/demo/patching/roles/report_server/files/redhat-ansible-logo.svg new file mode 100644 index 0000000..2ecef98 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/files/redhat-ansible-logo.svg @@ -0,0 +1,48 @@ + + + + +Logo-Red_Hat-Ansible_Automation_Platform-A-Reverse-RGB + + + + + + + + + + + diff --git a/collections/ansible_collections/demo/patching/roles/report_server/files/report.png b/collections/ansible_collections/demo/patching/roles/report_server/files/report.png new file mode 100644 index 0000000000000000000000000000000000000000..3c38d52aa7bc061d1b59b509327669cf0e735627 GIT binary patch literal 2098 zcmY*ad0bN48s#|TkQkUl4k=<@X=FAi zKFxkwX_iT(*`Sq0d9TBDsGKY9re)Rx^VxfQ|Mp&Me`kH`+u!-)oP0kYPq4C%G6)0$ z<8jyk39c-~brRNTkzFPMAT_|#4OG{yHz7IXkVEnNyuCqY60Qi62h>2aQi)`O03DG0 z3I~C91G;NG0NA#wkpY2nDImF3O}GRlL*}VulVq==EFbvg$d_4D2k>QoacN$a*#KPv zN-4OoR1he+MY;g-V1t&#EsPQr$_Vu)phz?-f*4ENOGdD$Dbg$unuU^3Dw#oqv8YMO zsVEi(zM?=$xHOD}!&W4WL<~IC+YjbWqmyBF2rGmY+({V*gQ4lM`%nQ`kJWU^2?LL3 zFj7!RB$LTRFt;OU^f;uogM$Oo$_8m;V<}Nsrm~Y6M3!Z8s?krA|N3CbsU$ijg+ZYu z!=%2%y|e=i3>+>kv^IX;lR??{t5S06YFm;9k%<;T;(?UdupG7s$*3MwvcZMj|n0X_6GpoWu)sS7Oe5!c0w???CvV+xwXv6cyWbIkn;v|8C6^ zSJdA@C@(JuUL86RN&In67(He7GU#`r_d~`w-PLo@Bg`1BhD2*MqADRhwe3dKr3t=4 zZ1PNLGJzV)^?EUBAT%7-7>*i_1G)wlDo@V}6y~lLIIHVx-q9Fw4Y{V;yz|QbQsIJJ zNxg=ORaRXDzOJc|i!tZFE)!yeG{ba{;djCyeS8~XSeG*;_vu@N%XD?&3sK1X$Hx~B z`>B#MHhi>K7sHUdmGYK$?bKIqvCYv{u=r-mnRwhGlTTaETz~WqCg_>04JYK!w^ix4 zp2>=-r7@)Td4v}1Nvg*cXyF%e%OCPYUGnRl_X-jRP zukz&_f!yz&X?uCqRiA5k)}022(|lq`Z0{pjbnlqc`NiHWdtJ1qwj--B*z8u3p_=f+ z9mgC}JK~aqerGt_>p_GnVVwTGwwILmDd_&a4}`pB|G$F^(dcIf)CYR9$F*=c7#cCu zb9RcX!o99-Ll_ejI3uhE`hIKG4^W_o`QDzGR>{9cLCSL*NyHkXe$_f&`5acav;db@ zVXvl-@0;(}GK{(zSP?%O0G;@(H)}z(OL1sauzYvp(;q6faQiJud;a+?Fl|qU!(7-o z_9T`SJRV+lvOMIiPn9o7PhioV+Jf8puKL)l6M(+BI4`ro^Fj9GN}IUiF+~3SWVSFh zv#DOg$vj5OUg>^pw?2i(YKd((+RBZDJ!b|&Hgy)Np%mcFUNVBJ#e=Ue;%2aJFkkLn zl+CRq^M8eG=Z>$-)Es#^86nuqGEkVB;+z0PU4rM^6ODPfBE_LG5v+$S5^$^Y$69Z6 z-y1<1jIegdg>y|ej7?v6se2&;&OIC(^ zhxRk|m|xCZU8Ir{WX0M&fk|SQ`s^t4FULkp_WSf-FDed5zBlvKGq?c=bMzl&Db@oJ z=O=FkDvy|kbdwxsi;MU=vw2$eJ*^bQ=;843zaHh!^KzT>MT&Qe4qZ-hySpt9p3Ek2 zjf6X7az_0j%yThp98~oUI(3YYpPPZy)39j74>rlfy?Dj(mERZj%3)7mZ{d5}A}xp}dv1IZ&&gk}L=)Gf+V>UVT6MA*^OW7}o)$lQ_`72p`8{rP>_UN>NA2Xj z#78xAr<{*xdW^YLey!O7U)rP-I+&-23yN;?h&6DReWc5k&7TyA^QKAhF>E6`%s>65 z4mVu|Y(c}SZmFpcPk=8oI*8Ff0!t$7bMXw^^3yEO5XBxy;_Vw9Y*uJeq{e1sb>64( zujwiUVubi*OYw7i4Q>>Cv7#(vBdoU1h#i+xly@My>U!%X7!Uf-iPpyw3Td)8C literal 0 HcmV?d00001 diff --git a/collections/ansible_collections/demo/patching/roles/report_server/files/webpage_logo.png b/collections/ansible_collections/demo/patching/roles/report_server/files/webpage_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..65b583651477a4982270f263a8b4cf7a1d540d5e GIT binary patch literal 45921 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 OChjR~-pRjh5%fP`|GmQi literal 0 HcmV?d00001 diff --git a/collections/ansible_collections/demo/patching/roles/report_server/tasks/apache.yml b/collections/ansible_collections/demo/patching/roles/report_server/tasks/apache.yml index d8faec4..0991231 100644 --- a/collections/ansible_collections/demo/patching/roles/report_server/tasks/apache.yml +++ b/collections/ansible_collections/demo/patching/roles/report_server/tasks/apache.yml @@ -1,20 +1,22 @@ --- +- include_vars: "{{ ansible_system }}.yml" + - yum: name: httpd state: latest check_mode: no - file: - path: /var/www/html/reports/ + path: "{{ doc_root }}/{{ reports_dir }}" state: directory check_mode: no - copy: - dest: /var/www/html/reports/.htaccess + dest: "{{ doc_root }}/{{ reports_dir }}/.htaccess" content: Options +Indexes check_mode: no - service: name: httpd state: started - check_mode: no \ No newline at end of file + check_mode: no diff --git a/collections/ansible_collections/demo/patching/roles/report_server/tasks/iis.yml b/collections/ansible_collections/demo/patching/roles/report_server/tasks/iis.yml index 74e6ffe..e2f61d6 100644 --- a/collections/ansible_collections/demo/patching/roles/report_server/tasks/iis.yml +++ b/collections/ansible_collections/demo/patching/roles/report_server/tasks/iis.yml @@ -1,4 +1,6 @@ --- +- include_vars: "{{ ansible_system }}.yml" + - name: Install IIS ansible.windows.win_feature: name: Web-Server @@ -13,11 +15,11 @@ - name: Create Directory ansible.windows.win_file: - path: C:\Inetpub\wwwroot\reports + path: "{{ doc_root }}\\{{ reports_dir }}" state: directory check_mode: no - name: Enable Directory Browsing ansible.windows.win_powershell: script: | - "Set-WebConfigurationProperty -filter /system.webServer/directoryBrowse -name enabled -value true -PSPath 'IIS:\Sites\Default Web Site\reports'" \ No newline at end of file + "Set-WebConfigurationProperty -filter /system.webServer/directoryBrowse -name enabled -value true -PSPath 'IIS:\Sites\Default Web Site\reports'" diff --git a/collections/ansible_collections/demo/patching/roles/report_server/tasks/linux_landing_page.yml b/collections/ansible_collections/demo/patching/roles/report_server/tasks/linux_landing_page.yml new file mode 100644 index 0000000..30419e3 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/tasks/linux_landing_page.yml @@ -0,0 +1,34 @@ +--- +- include_vars: "{{ ansible_system }}.yml" + +- name: get reports + ansible.builtin.find: + paths: "{{ doc_root }}/{{ reports_dir }}" + patterns: '*.html' + register: reports + check_mode: no + +- name: publish landing page + ansible.builtin.template: + src: linux_report.j2 + dest: "{{ doc_root }}/index.html" + check_mode: no + +- name: copy CSS over + ansible.builtin.copy: + src: "css" + dest: "{{ doc_root }}" + directory_mode: true + check_mode: no + +- name: copy logos over + ansible.builtin.copy: + src: "{{ item }}" + dest: "{{ doc_root }}" + directory_mode: true + loop: + - "webpage_logo.png" + - "redhat-ansible-logo.svg" + - "report.png" + check_mode: no + diff --git a/collections/ansible_collections/demo/patching/roles/report_server/tasks/main.yml b/collections/ansible_collections/demo/patching/roles/report_server/tasks/main.yml new file mode 100644 index 0000000..a275ceb --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- include_tasks: apache.yml + when: ansible_system == 'Linux' + +- include_tasks: iis.yml + when: ansible_system == 'Win32NT' diff --git a/collections/ansible_collections/demo/patching/roles/report_server/tasks/windows_landing_page.yml b/collections/ansible_collections/demo/patching/roles/report_server/tasks/windows_landing_page.yml new file mode 100644 index 0000000..76574c9 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/tasks/windows_landing_page.yml @@ -0,0 +1,34 @@ +--- +- include_vars: "{{ ansible_system }}.yml" + +- name: get reports + ansible.windows.win_find: + paths: "{{ doc_root }}/{{ reports_dir }}" + patterns: '*.html' + register: reports + check_mode: no + +- name: publish landing page + ansible.builtin.win_template: + src: windows_report.j2 + dest: "{{ doc_root }}/index.html" + check_mode: no + +- name: copy CSS over + ansible.builtin.win_copy: + src: "css" + dest: "{{ doc_root }}" + directory_mode: true + check_mode: no + +- name: copy logos over + ansible.builtin.win_copy: + src: "{{ item }}" + dest: "{{ doc_root }}" + directory_mode: true + loop: + - "webpage_logo.png" + - "redhat-ansible-logo.svg" + - "report.png" + check_mode: no + diff --git a/collections/ansible_collections/demo/patching/roles/report_server/templates/header.j2 b/collections/ansible_collections/demo/patching/roles/report_server/templates/header.j2 new file mode 100644 index 0000000..6d504d0 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/templates/header.j2 @@ -0,0 +1,15 @@ + + +
+
+
+ + + +
+
\ No newline at end of file diff --git a/collections/ansible_collections/demo/patching/roles/report_server/templates/linux_report.j2 b/collections/ansible_collections/demo/patching/roles/report_server/templates/linux_report.j2 new file mode 100644 index 0000000..201d930 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/templates/linux_report.j2 @@ -0,0 +1,42 @@ + + + + Ansible Linux Automation Report + + + + + + + + + +
+ {% include 'header.j2' %} +
+
+

Ansible Automation Reports

+

+

+ + +{% for report in reports.files %} + {% set page = report.path.split('/')[-1] %} + + + +{% endfor %} + +
+
+

+
+
+ {{ page }} +
+

Created with


+
+
+
+ + diff --git a/collections/ansible_collections/demo/patching/roles/report_server/templates/windows_report.j2 b/collections/ansible_collections/demo/patching/roles/report_server/templates/windows_report.j2 new file mode 100644 index 0000000..5690437 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/templates/windows_report.j2 @@ -0,0 +1,42 @@ + + + + Ansible Linux Automation Report + + + + + + + + + +
+ {% include 'header.j2' %} +
+
+

Ansible Automation Reports

+

+

+ + +{% for report in reports.files %} + {% set page = report.path.split('\\')[-1] %} + + + +{% endfor %} + +
+
+

+
+
+ {{ page }} +
+

Created with


+
+
+
+ + diff --git a/collections/ansible_collections/demo/patching/roles/report_server/vars/Linux.yml b/collections/ansible_collections/demo/patching/roles/report_server/vars/Linux.yml new file mode 100644 index 0000000..b4d3573 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/vars/Linux.yml @@ -0,0 +1,3 @@ +--- +doc_root: /var/www/html +reports_dir: reports diff --git a/collections/ansible_collections/demo/patching/roles/report_server/vars/Win32NT.yml b/collections/ansible_collections/demo/patching/roles/report_server/vars/Win32NT.yml new file mode 100644 index 0000000..ac4e675 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/report_server/vars/Win32NT.yml @@ -0,0 +1,3 @@ +--- +doc_root: C:\Inetpub\wwwroot +reports_dir: reports diff --git a/collections/ansible_collections/demo/patching/roles/report_windows/tasks/main.yml b/collections/ansible_collections/demo/patching/roles/report_windows/tasks/main.yml index c2f1479..51bed40 100644 --- a/collections/ansible_collections/demo/patching/roles/report_windows/tasks/main.yml +++ b/collections/ansible_collections/demo/patching/roles/report_windows/tasks/main.yml @@ -25,4 +25,4 @@ #- name: display link to inventory report # ansible.builtin.debug: -# msg: "Please go to http://{{ host_vars[report_server]['ansible_host'] }}/reports/windows.html" \ No newline at end of file +# msg: "Please go to http://{{ host_vars[report_server]['ansible_host'] }}/reports/windows.html" diff --git a/linux/patching.yml b/linux/patching.yml index 3c83a8c..b3b1f9e 100644 --- a/linux/patching.yml +++ b/linux/patching.yml @@ -9,30 +9,17 @@ name: demo.patching.patch_linux - block: - - yum: - name: httpd - state: latest - check_mode: no - - - file: - path: /var/www/html/reports/ - state: directory - check_mode: no - - - copy: - dest: /var/www/html/reports/.htaccess - content: Options +Indexes - check_mode: no - - - service: - name: httpd - state: started - check_mode: no - include_role: - name: demo.patching.report_linux + name: "{{ item }}" + loop: + - demo.patching.report_server + - demo.patching.report_linux + - demo.patching.report_linux_patching - include_role: - name: demo.patching.report_linux_patching + name: demo.patching.report_server + tasks_from: linux_landing_page + delegate_to: "{{ report_server }}" - run_once: yes \ No newline at end of file + run_once: yes diff --git a/linux/setup.yml b/linux/setup.yml index eac25be..a0187fa 100644 --- a/linux/setup.yml +++ b/linux/setup.yml @@ -56,7 +56,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/ec2_register.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -92,7 +91,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/tshoot.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -114,7 +112,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/temp_sudo.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -144,7 +141,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/patching.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -167,7 +163,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/service_start.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -193,7 +188,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/service_stop.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -219,7 +213,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/run_script.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -243,7 +236,6 @@ controller_templates: project: Fact Scan playbook: scan_facts.yml inventory: Workshop Inventory - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -257,7 +249,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/podman.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -282,7 +273,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/system_roles.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -307,7 +297,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "linux/compliance.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry diff --git a/windows/patching.yml b/windows/patching.yml index dbab74c..ab7f3c0 100644 --- a/windows/patching.yml +++ b/windows/patching.yml @@ -9,14 +9,17 @@ name: demo.patching.patch_windows - block: + + - include_role: + name: "{{ item }}" + loop: + - demo.patching.report_server + - demo.patching.report_windows + - demo.patching.report_windows_patching + - include_role: name: demo.patching.report_server - tasks_from: iis + tasks_from: windows_landing_page - - include_role: - name: demo.patching.report_windows - - - include_role: - name: demo.patching.report_windows_patching delegate_to: "{{ report_server }}" - run_once: yes \ No newline at end of file + run_once: yes From 9e03d7fe7c34510559581953795d3df27cb27c26 Mon Sep 17 00:00:00 2001 From: MKletz Date: Fri, 21 Oct 2022 09:43:32 -0500 Subject: [PATCH 42/61] Increased the Idle Time Force Log Out (#28) * increased timeout * sdf * asdf * corrected key --- setup_demo.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/setup_demo.yml b/setup_demo.yml index 06447ec..bf19fa6 100644 --- a/setup_demo.yml +++ b/setup_demo.yml @@ -11,6 +11,7 @@ controller_components: - notification_templates - job_templates + - settings controller_notifications: - name: Telemetry organization: Default @@ -42,6 +43,9 @@ type: textarea variable: feedback required: true + controller_settings: + - name: "SESSION_COOKIE_AGE" + value: 180000 - name: "include configuration for {{ demo }}" include_vars: "{{demo}}/setup.yml" From 4510b13fae74aafd4d1a78a49359cdb0c38c471c Mon Sep 17 00:00:00 2001 From: willtome Date: Mon, 24 Oct 2022 21:34:12 -0400 Subject: [PATCH 43/61] pin version for comm.gen --- collections/requirements.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/collections/requirements.yml b/collections/requirements.yml index a97d736..ef7c271 100644 --- a/collections/requirements.yml +++ b/collections/requirements.yml @@ -9,7 +9,8 @@ collections: version: 1.0.7 - name: redhat.rhel_system_roles version: 1.16.2 - - community.general + - name: community.general + version: 0.1.1 - containers.podman #windows - chocolatey.chocolatey From efcf729fa09a4ea26c1680c727f615e8c0f21fb1 Mon Sep 17 00:00:00 2001 From: willtome Date: Thu, 10 Nov 2022 15:52:13 -0500 Subject: [PATCH 44/61] Instruqt Refactor (#40) * work on landing page * work on landing page * work on landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * add files * derp * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add ee * add ee * add ee * fix landing page * fix landing page * fix landing page * fix landing page * fix landing page * remove commented out sections * remove default ee * set local admin password * set ee for fact scan * fall back to default ee for patching * check for valid org_id * check for valid org_id * check admin username * add remote_user * credssp * ntlm --- cloud/setup.yml | 3 --- linux/ec2_register.yml | 4 ++++ windows/create_ad_domain.yml | 9 ++++++++- windows/group_vars/os_windows.yml | 2 +- windows/setup.yml | 8 -------- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/cloud/setup.yml b/cloud/setup.yml index ab4dba8..04cba8e 100644 --- a/cloud/setup.yml +++ b/cloud/setup.yml @@ -75,7 +75,6 @@ controller_templates: project: Ansible official demo project playbook: cloud/create_infra.yml inventory: Workshop Inventory - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -108,7 +107,6 @@ controller_templates: project: Ansible official demo project playbook: cloud/create_vm.yml inventory: Workshop Inventory - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -154,7 +152,6 @@ controller_templates: project: Ansible official demo project playbook: cloud/destroy_vm.yml inventory: Workshop Inventory - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry diff --git a/linux/ec2_register.yml b/linux/ec2_register.yml index c5df31b..b1cee04 100644 --- a/linux/ec2_register.yml +++ b/linux/ec2_register.yml @@ -8,6 +8,10 @@ that: - org_id is defined - activation_key is defined + - org_id != '' + - activation_key != '' + - org_id != 'undef' + - activation_key != 'undef' - name: set hostname hostname: diff --git a/windows/create_ad_domain.yml b/windows/create_ad_domain.yml index 00ee7d2..2a085e8 100644 --- a/windows/create_ad_domain.yml +++ b/windows/create_ad_domain.yml @@ -1,9 +1,15 @@ --- - name: Create Active Directory domain - hosts: "{{ HOSTS | default('windows') }}" + hosts: "{{ HOSTS | default('os_windows') }}" gather_facts: false tasks: + + - name: Set Local Admin Password + ansible.windows.win_user: + name: Administrator + password: "{{ ansible_password }}" + - name: Create new domain in a new forest on the target host ansible.windows.win_domain: dns_domain_name: ansible.local @@ -22,6 +28,7 @@ state: present timeout: 600 sleep: 10 + remote_user: Administrator - name: Create some groups community.windows.win_domain_group: diff --git a/windows/group_vars/os_windows.yml b/windows/group_vars/os_windows.yml index 5cde06e..a646837 100644 --- a/windows/group_vars/os_windows.yml +++ b/windows/group_vars/os_windows.yml @@ -2,4 +2,4 @@ ansible_connection: winrm ansible_winrm_transport: ntlm ansible_winrm_server_cert_validation: ignore -ansible_port: 5986 \ No newline at end of file +ansible_port: 5986 diff --git a/windows/setup.yml b/windows/setup.yml index cddec4c..967a848 100644 --- a/windows/setup.yml +++ b/windows/setup.yml @@ -18,7 +18,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "windows/install_iis.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -91,7 +90,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "windows/windows_choco_multiple.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -112,7 +110,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "windows/windows_choco_specific.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -137,7 +134,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "windows/powershell.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -163,7 +159,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "windows/powershell_script.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -192,7 +187,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "windows/powershell_dsc.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -213,7 +207,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "windows/create_ad_domain.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry @@ -234,7 +227,6 @@ controller_templates: inventory: "Workshop Inventory" project: "Ansible official demo project" playbook: "windows/helpdesk_new_user_portal.yml" - execution_environment: Default execution environment notification_templates_started: Telemetry notification_templates_success: Telemetry notification_templates_error: Telemetry From 07a9f64fd2a7dfab05b3be1ed69f3e2ce9cdb7ff Mon Sep 17 00:00:00 2001 From: Nicolas Leiva Date: Wed, 30 Nov 2022 15:46:40 -0500 Subject: [PATCH 45/61] Add network report job template (#44) * Network report --- .../Ansible Network Automation Report.png | Bin 116021 -> 172591 bytes .../build_report_network/files/css/main.css | 207 ++++++++++++++++++ .../build_report_network/files/css/new.css | 202 ----------------- .../roles/build_report_network/tasks/main.yml | 15 +- .../build_report_network/templates/ansible.j2 | 41 ++++ .../build_report_network/templates/bgp.j2 | 39 +++- .../templates/bgp_address_family.j2 | 46 ++++ .../build_report_network/templates/header.j2 | 4 +- .../templates/interfaces.j2 | 14 +- .../templates/l2_interfaces.j2 | 10 +- .../templates/l3_interfaces.j2 | 26 +-- .../build_report_network/templates/lacp.j2 | 18 +- .../templates/lldp_interfaces.j2 | 14 +- .../build_report_network/templates/ospf.j2 | 16 +- .../build_report_network/templates/report.j2 | 134 ++++++------ .../build_report_network/templates/static.j2 | 45 ++++ .../build_report_network/templates/summary.j2 | 25 --- .../build_report_network/templates/vlans.j2 | 10 +- .../roles/build_report_network/vars/main.yml | 12 +- collections/requirements.yml | 8 + network/report.yml | 58 +++++ network/setup.yml | 50 ++++- setup_demo.yml | 13 +- 23 files changed, 621 insertions(+), 386 deletions(-) create mode 100644 collections/ansible_collections/demo/patching/roles/build_report_network/files/css/main.css delete mode 100644 collections/ansible_collections/demo/patching/roles/build_report_network/files/css/new.css create mode 100644 collections/ansible_collections/demo/patching/roles/build_report_network/templates/ansible.j2 create mode 100644 collections/ansible_collections/demo/patching/roles/build_report_network/templates/bgp_address_family.j2 create mode 100644 collections/ansible_collections/demo/patching/roles/build_report_network/templates/static.j2 delete mode 100644 collections/ansible_collections/demo/patching/roles/build_report_network/templates/summary.j2 create mode 100644 network/report.yml diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/example_results/Ansible Network Automation Report.png b/collections/ansible_collections/demo/patching/roles/build_report_network/example_results/Ansible Network Automation Report.png index d766491da5702e9de928b1ed55a27fe9d4a55a77..2cfac3a2c00b4115f76e499524df7312154beef6 100644 GIT binary patch literal 172591 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 literal 116021 zcmeFZcT`hdyDy4`BB0m+rCLA{L_`FnD@Yd*kX~OAkP<*c=pl-rB27Sw^d>Fz7O4>x zPg%(L%Vb??J^z)jFJIZT$ewM=A1~5Ai8{m+E68&=&Ew+Rw718e zALF}1clhwJ9~y^`rTh>a_w9&!|HQ_(BWT{K%G>Ko&&5R5*NeH^k7ix9I_BE*8d{z8 z3o*`}DfbS8*-(CX3M@(le*Z~D1wUTT|L1Ry`$d!`P=2^h<^8$(h4NA4@6V{lPW|U! zItO3)`SOV9baB%ff=seVuQ=|z`wYIdI*eZP3~c=+ZQ0TW+V<=p@hzwyMQ#YAPUV<|@BFwNZ25cCFYo|MlC0=@ zaZ?rVqjJs5H#e7?B7Mz&Kk%;B1;bjceBYT=r{nq|TLzKvfB%9>M#9As^(L2Q+Vsz} z_FjNztyzT0&Y2W#gMZ@IRtZiDuNk#9HACOMd-urHlmnXF+WJ7(*f@^hYiDOyvDe+x z6Y1;wd$^@gaQm;O+f=WundE%5U;=!64=;Vn%~cy17?62h%g@i>ip|f?o^jb%gyCiRonJvIC$ci@4X_gWY3AftB+Q{9I2y5Zb)|6 zr`6|bgUR@yZE7V9VdjNT(CFX8FR%gueN^W1y#MhC%_d9U2-pH3-~Op>&*S>M*REb| z!a6AZt#w!ZFlX1Zt|oO-HYZtnx2Tzh@!`OWLtZoWw3tE*IYIL9q7Q?9lkB=-3}K#; z9{T+GZTnun_>z)aI9X9qQSByGEiD5#w~Ce3)u_nG^ot6wdDgZmvI3tyfByW#$B#Mp zUU|tHicVX!b#zd!G-5)*!NeV#)So07{GRfV6qv?suw{BIR*&q_2(Pi1w6{mH!jY9> z(%n;4Qm-(Ehpgf7T7pVjSy@?jQ5WCT)Rgd%zP!BanBLy|GFh3KN-!9#jur_-siUnO zPApF#{b+8!6&9%ys7L#6gNT4ZU}EhYxna8t?lzwX!4mh94;^`gX@eFxvE58*A!+d# zYN)FR(Vq%w3Qs=d=i6^`@9iiDAosROJ=`>mGtn<#uH=0+!h|%^%&5k`H(OgxOA95V zZ))l&<)o>p*$bsP&URMR0ts#J0h`wURUPezx%Wyk^RkMTR+wZ3iA0#2o1mx_`9IX^ z+LiFJ)gMQgX0)3=P_>`RBinv?aYN9heAgY_bA(Acg-o{CSF}Dt^K@x4%sUs2wWP?6 z?KYp}9YKD69bezN5R();K@0{{0Gn%`& zx4bj3D0eXOiydkp<5@?3Dx_TH1BS7+YJeqVj+=MSAEDtxBM?&?i-l}W+5H+!ve|Y= zXl4*5p{!-WKBSV^s2EF3Rcs{oZXcb>WI)2}f}_ZWh6a8_0SNyxX|&!pKTgDvTM0qc3iq*UA9E4Q24 zQ`N+vPYbr7+%U3OM&EMaeqI^=BDL~ecQvjN58Lp0lN}#r+$F~#ZJRg4El-b`VRK?t&sN4^6YGt zj~_oax3)e40A_D*pXR5FU!I$rD|_T(a7z4^qOXyD;I|@j9QQ#zEH`WwoMgqNZCfy zFuHK&*pn6(5!|SeL~7(K8b#Xd#>4s)PyjYO0W3-qig*RR|FmWT`-rN~3yZCcFOY%ge!GG$Q7ko^7XOAp)V>D92iMYhSKw(vj`v1*gO_$MlDl z^1+<#I#WW&Zkc~Jwy-EnNZ`ONcXxNE`Dx>!!4n2WaZypstE9vR&sM|wn}3|@3k03M z?htTQ_5h5;jx>8(?1iH*Sc9838L@TXSV*VHxCtdKbWwJxE-)p1g&~5oQL!=Qsj8 zE)mPq2P-v?oS1l=`N!WcovNRMKc2S=gL#f%k{I<5{nqozkS$q)UtnvATJ)t7tzOGr9IKx-^A5Z@`igMIy?`_?WKb7nh4BD zX8nD8XCj^cDJ)Pkc`I)32LPbcG=RaollPy!>K)$OaR8EZnB(4e8Ewsqi;m6&7^c;+ zg+lCzQy+erf&DXgGlime-rZ-?wShl*WNu!tvhv*8+M1VWibNuLf9lgt7Hg*~@%kiO z)6LATtTd{2BdTqW{*QtobTZ2?R*0N()Trw3NCySw{& z9G{^Y`5`&EFfHxU6do@iB_%Z{n%5-8RZ4>dqXJXY1~>?AI54U@ecSrE_ZJmft$yM0 z4nN*sR3)4I7W0=-%Batt74zie<+b|c)zz6te29#k+~!FC5FOo|4}J}gh!h z>VWfW?&tupEt(>#=IL2U5I!*TF2j0zV`Jmi$qz9xO^lJhHKTJC2u0x2r%yQr1)32b zqN1#2%?%Bo(nLFTltu%;4mRSNfIthQ-KS7H>fpVW=H^y-h;|n6thY8$3+zIMQ55r- z`t^%XKtP?En%aiW)WE=&eTq%MFu$N6ng@f$3S7OaO!343Zafp72oC*0j;BYFGf{a# z`bOL+O{Ot72egTYJs%(6%~zU}!k5cj*^k>FSIBR2V*uvd3C#K9Uv^+ATc1se?0fSo zD#UVc00G*_0Q>x~hCcpVOkgSMn7+P7MwJl7ygc2b=OzLQ0MH1d*i&5y$l%#o{1f2tnwf>EsiG3}L*6u(~?fGQaBd4-9Zr zeXFWZzURVHZ~R{8nmLf2US80h23&`vMXqRY4b~FV9NU8FM+wy1|MgcYPflIkh)=7a zp{U;ku!s!u9|3hrfWi2eS@NIXaw?`o8{DgGc`U4~$n0!B`+`2;`m=!=bPs!)PEsTF z^z<@_;t}xu`nEH4^4P`N>3Zm z`n2_p(|HH`mU${P8t5lW6aV$=uJD3YVTYWYoZ>wMQ0M#;PW8FZWZSn5S@Uy|$WrQp z-wRaX0`p{R%-;a&cZ}$KTq%UASG~xdBRwVM3&)=Q2cUAmj;}31^TR0i4E%V7Wm#I< z*K)4ngSbVhKr&1h;64bg{J+}#5gMbP-tWJtmfl)2|M^q;Z*-ud3ZwgjwNzg&|5v(n zo7(UEzcNn%B>(rU{C{ynUmUJy3^}(IoWw1seOXD?%6pf%OI`JBHFI!qa1HlUHz`zN zx^lV7W42@vhl6c3>+M-jw5ZBydDz045;loXx(P=R(xP4o`9#8CZZRDMA;3 z|4E_cl-frw3{|FYZ+qpNkTtpqRvxoxi}3Q+*hE_=le!53oS0BkTaq+peFzI3StChT zEcSn@s`3&Q6V2J45f1V3de92bdH^@e(oEJ?PB7qNrATCf7m|KgFgz<&=7;cNRsaRe!hd%TI$ihxwcI< zytTmUE|gOW4xI|qyO&2Bh{W#pVPSId@_hawcS8@i8L+;CO z0_yw&A~PT8{(K#>JvRBNc6!mfaFWCA)^^$N7dv4~iJ6 z?lK+7?+u5n4l}6%v8)`RT4->gU-
&H@i2Zx@3pqSfWTc#`OIP%oGhy17ucD9-G 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

8sB@)tZfG^`M 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

I^y+P5h9QTt)UdPgjZrH}-3V7aB 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 SY2;!8x~I>d$~k%I@Baq!j>Lih diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/files/css/main.css b/collections/ansible_collections/demo/patching/roles/build_report_network/files/css/main.css new file mode 100644 index 0000000..d978eb3 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/files/css/main.css @@ -0,0 +1,207 @@ +p.hostname { + color: #000000; + font-weight: bolder; + font-size: large; + margin: auto; + width: 50%; +} + +#subtable { + background: #ebebeb; + margin: 0px; + width: 100%; +} + +#subtable tbody tr td { + padding: 5px 5px 5px 5px; +} + +#subtable thead th { + padding: 5px; +} + +* { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-family: "Open Sans", "Helvetica"; + +} + +a { + color: #ffffff; +} + +p { + color: #ffffff; +} +h1 { + text-align: center; + color: #ffffff; +} + +body { + background:#353a40; + padding: 0px; + margin: 0px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +table { + border-collapse: separate; + background:#fff; + @include border-radius(5px); + @include box-shadow(0px 0px 5px rgba(0,0,0,0.3)); +} + +.main_net_table { + margin:50px auto; +} + +.main_net_table { + margin:50px auto; +} + +thead { + @include border-radius(5px); +} + +thead th { + font-size:16px; + font-weight:400; + color:#fff; + @include text-shadow(1px 1px 0px rgba(0,0,0,0.5)); + text-align:left; + padding:20px; + border-top:1px solid #858d99; + background: #353a40; + + &:first-child { + @include border-top-left-radius(5px); + } + + &:last-child { + @include border-top-right-radius(5px); + } +} + +tbody tr td { + font-weight:400; + color:#5f6062; + font-size:13px; + padding:20px 20px 20px 20px; + border-bottom:1px solid #e0e0e0; + +} + +tbody tr:nth-child(2n) { + background:#f0f3f5; +} + +tbody tr:last-child td { + border-bottom:none; + &:first-child { + @include border-bottom-left-radius(5px); + } + &:last-child { + @include border-bottom-right-radius(5px); + } +} + +td { + vertical-align: top; +} + +span.highlight { + background-color: yellow; +} + +.expandclass { + color: #5f6062; +} + +.content{ + display:none; + margin: 10px; +} + +header { + width: 100%; + position: initial; + float: initial; + padding: 0; + margin: 0; + border-radius: 0; + height: 88px; + background-color: #171717; +} + +.header-container { + margin: 0 auto; + width: 100%; + height: 100%; + max-width: 1170px; + padding: 0; + float: initial; + display: flex; + align-items: center; +} + +.header-logo { + width: 137px; + border: 0; + margin: 0; + margin-left: 15px; +} + +.header-link { + margin-left: 40px; + text-decoration: none; + cursor: pointer; + text-transform: uppercase; + font-size: 15px; + font-family: 'Red Hat Text'; + font-weight: 500; +} + +.header-link:hover { + text-shadow: 0 0 0.02px white; + text-decoration: none; +} + +table.net_info td { + padding: 5px; +} + +p.expandclass:hover { + text-decoration: underline; + color: #EE0000; + cursor: pointer; +} + +.summary_info { +} + +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { + border: 1px solid #5F0000; + background: #EE0000; +} + +div#net_content { + padding: 0px; + height: auto !important; +} + +img.router_image { + vertical-align: middle; + padding: 0px 10px 10px 10px; + width: 50px; +} + +table.net_info { + width: 100%; +} + +p.internal_label { + color: #000000; +} diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/files/css/new.css b/collections/ansible_collections/demo/patching/roles/build_report_network/files/css/new.css deleted file mode 100644 index f58d18f..0000000 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/files/css/new.css +++ /dev/null @@ -1,202 +0,0 @@ -p.hostname { - color: #000000; - font-weight: bolder; - font-size: large; - margin: auto; - width: 50%; - } - - #subtable { - background: #ebebeb; - margin: 0px; - width: 100%; - } - - #subtable tbody tr td { - padding: 5px 5px 5px 5px; - } - - #subtable thead th { - padding: 5px; - } - - * { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - font-family: "Open Sans", "Helvetica"; - - } - - a { - color: #ffffff; - } - - p { - color: #ffffff; - } - h1 { - text-align: center; - color: #ffffff; - } - - body { - background:#353a40; - padding: 0px; - margin: 0px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - } - - table { - border-collapse: separate; - background:#fff; - @include border-radius(5px); - @include box-shadow(0px 0px 5px rgba(0,0,0,0.3)); - } - - .main_net_table { - margin:50px auto; - } - - thead { - @include border-radius(5px); - } - - thead th { - font-size:16px; - font-weight:400; - color:#fff; - @include text-shadow(1px 1px 0px rgba(0,0,0,0.5)); - text-align:left; - padding:20px; - border-top:1px solid #858d99; - background: #353a40; - - &:first-child { - @include border-top-left-radius(5px); - } - - &:last-child { - @include border-top-right-radius(5px); - } - } - - tbody tr td { - font-weight:400; - color:#5f6062; - font-size:13px; - padding:20px 20px 20px 20px; - border-bottom:1px solid #e0e0e0; - } - - tbody tr:nth-child(2n) { - background:#f0f3f5; - } - - tbody tr:last-child td { - border-bottom:none; - &:first-child { - @include border-bottom-left-radius(5px); - } - &:last-child { - @include border-bottom-right-radius(5px); - } - } - - td { - vertical-align: top; - } - - span.highlight { - background-color: yellow; - } - - .expandclass { - color: #5f6062; - } - - .content{ - display:none; - margin: 10px; - } - - header { - width: 100%; - position: initial; - float: initial; - padding: 0; - margin: 0; - border-radius: 0; - height: 88px; - background-color: #171717; - } - - .header-container { - margin: 0 auto; - width: 100%; - height: 100%; - max-width: 1170px; - padding: 0; - float: initial; - display: flex; - align-items: center; - } - - .header-logo { - width: 137px; - border: 0; - margin: 0; - margin-left: 15px; - } - - .header-link { - margin-left: 40px; - text-decoration: none; - cursor: pointer; - text-transform: uppercase; - font-size: 15px; - font-family: 'Red Hat Text'; - font-weight: 500; - } - - .header-link:hover { - text-shadow: 0 0 0.02px white; - text-decoration: none; - } - - table.net_info td { - padding: 5px; -} - -p.expandclass:hover { - text-decoration: underline; - color: #EE0000; - cursor: pointer; -} - -.summary_info { -} - -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { - border: 1px solid #5F0000; - background: #EE0000; -} - -div#net_content { - padding: 0px; - height: auto !important; -} - -img.router_image { - vertical-align: middle; - padding: 0px 10px 10px 10px; - width: 50px; -} - -table.net_info { - width: 100%; -} - -p.internal_label { - color: #000000; -} \ No newline at end of file diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/tasks/main.yml b/collections/ansible_collections/demo/patching/roles/build_report_network/tasks/main.yml index accaeba..f00e455 100644 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/tasks/main.yml +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/tasks/main.yml @@ -1,13 +1,21 @@ +- name: Create web directory if it does not exist + ansible.builtin.file: + path: "{{ file_path }}" + state: directory + mode: '0755' + - name: create HTML report ansible.builtin.template: src: report.j2 dest: "{{ file_path }}/network.html" + check_mode: no - name: copy CSS over ansible.builtin.copy: src: "css" dest: "{{ file_path }}" directory_mode: true + check_mode: no - name: copy logos over ansible.builtin.copy: @@ -18,7 +26,8 @@ - "webpage_logo.png" - "redhat-ansible-logo.svg" - "router.png" + check_mode: no -- name: display link to inventory report - ansible.builtin.debug: - msg: "Please go to http://{{ ansible_host }}/network.html" \ No newline at end of file +# - name: Display link to Linux patch report +# ansible.builtin.debug: +# msg: "Please go to http://{{ hostvars[report_server]['ansible_host'] }}/reports/network.html" diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/ansible.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/ansible.j2 new file mode 100644 index 0000000..01386bf --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/ansible.j2 @@ -0,0 +1,41 @@ + +

+
+

Ansible Automation Info

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible user{{ hostvars[network_switch]['ansible_user'] }}
Transport{% set ansible_connection = hostvars[network_switch]['ansible_net_api'] %}{{ transport[ansible_connection] }}
Ansible Mgmt IP{{ hostvars[network_switch]['ansible_host'] | default('N/A') }}
Ansible groups{% for group in hostvars[network_switch]['group_names'] %}{{ group }} {% endfor %}
Ansible core version{% for group in hostvars[network_switch]['ansible_version']['string']|default("Unknown") %}{{ group }} {% endfor %}
Ansible Python{{ hostvars[network_switch]['ansible_playbook_python']|default("Unknown") }}
Python version{{ hostvars[network_switch]['ansible_net_python_version']|default("Unknown") }}
+
+
+
+ diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/bgp.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/bgp.j2 index d6b0f67..97d1b5a 100644 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/bgp.j2 +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/bgp.j2 @@ -1,25 +1,46 @@ - +
-
- - - \ No newline at end of file + diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/bgp_address_family.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/bgp_address_family.j2 new file mode 100644 index 0000000..94686a7 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/bgp_address_family.j2 @@ -0,0 +1,46 @@ + +
+
+

BGP Address Family

+
+{% if hostvars[network_switch]['ansible_network_resources']['bgp_address_family']['address_family'] is defined and hostvars[network_switch]['ansible_network_resources']['bgp_address_family']['address_family']|length > 0 %} + +{% for address_family in hostvars[network_switch]['ansible_network_resources']['bgp_address_family']['address_family'] %} +

Address Family {{ address_family['afi'] }}

+ + + + + + + + + {% if hostvars[network_switch]['ansible_network_resources']['bgp_address_family']['address_family']['networks'] is defined %} + {% for bgp_network in address_family['networks'] %} + + + + {% endfor %} + {% elif hostvars[network_switch]['ansible_network_resources']['bgp_address_family']['address_family']['network'] is defined %} + {% for bgp_network in address_family['network'] %} + + + + + {% endfor %} + {% else %} + No BGP networks information available + {% endif %} + +
Network
{{ bgp_network['prefix']|default("Not Configured") }}
{{ bgp_network['address']|default("Not Configured") }}{{ bgp_network['mask']|default("Not Configured") }}
+{% endfor %} + +{% elif hostvars[network_switch]['ansible_network_resources']['bgp_address_family']['address_family'] is defined and hostvars[network_switch]['ansible_network_resources']['bgp_address_family']['address_family']|length == 0 %} +no BGP address-family is not configured on this device +{% else %} +No BGP information available +{% endif %} +
+
+
+ diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/header.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/header.j2 index 6d504d0..25265ce 100644 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/header.j2 +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/header.j2 @@ -1,5 +1,3 @@ - -
-
\ No newline at end of file + diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/interfaces.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/interfaces.j2 index bf13414..ef80194 100644 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/interfaces.j2 +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/interfaces.j2 @@ -1,10 +1,8 @@ - +
-
- - - \ No newline at end of file + diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/lldp_interfaces.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/lldp_interfaces.j2 index 3ad0852..6e4393a 100644 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/lldp_interfaces.j2 +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/lldp_interfaces.j2 @@ -1,9 +1,9 @@ - +
-
- - - \ No newline at end of file + diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/ospf.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/ospf.j2 index d06ff5b..25ce225 100644 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/ospf.j2 +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/ospf.j2 @@ -1,8 +1,8 @@ - +
-
- - - \ No newline at end of file + diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/report.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/report.j2 index f00eac7..c2e55e1 100644 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/report.j2 +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/report.j2 @@ -1,13 +1,12 @@ - Ansible Network Automation Report + Network Automation Report - - - - + + + - -
{% include 'header.j2' %}
-

Ansible Network Automation Report

-

+

Ansible Network Automation Example Report

- +
@@ -75,35 +33,71 @@ collapsible: true -{% for network_switch in groups['tag_Router']|sort %} +{% for network_switch in groups['routers']|sort %} +{% if hostvars[network_switch].ansible_facts.network_resources is defined %} - - - - +

picture of network device{{ hostvars[network_switch].ansible_net_hostname }}

+ +
+
Network Device
-

- {{ hostvars[network_switch]['ansible_net_hostname'].split('.')[0] }}

-
-{% include 'summary.j2' %} -
-{% include 'interfaces.j2' %} - -{% include 'vlans.j2' %} -{% include 'lldp_interfaces.j2' %} -{% include 'l2_interfaces.j2' %} - -{% include 'l3_interfaces.j2' %} -{% include 'lacp.j2' %} -{% include 'bgp.j2' %} -{% include 'ospf.j2' %} -
+ + + + + + + + + + + + + + + + + + +
Platform{% set ansible_network_os = hostvars[network_switch]['ansible_net_system'] %}{{ vendor[ansible_network_os]}} {{hostvars[network_switch]['ansible_net_system'] }}
Code Version{{ hostvars[network_switch]['ansible_net_version'] }}
Model{{ hostvars[network_switch]['ansible_net_model'] }}
Serial Number{{ hostvars[network_switch]['ansible_net_serialnum'] | default('N/A') }}
+ + + {% include 'ansible.j2' %} +
+ + + + + + + {% include 'interfaces.j2' %} + + + {% include 'vlans.j2' %} + {% include 'lldp_interfaces.j2' %} + {% include 'l2_interfaces.j2' %} + + + {% include 'l3_interfaces.j2' %} + {% include 'lacp.j2' %} + {% include 'static.j2' %} + {% include 'bgp.j2' %} + {% include 'bgp_address_family.j2' %} + {% include 'ospf.j2' %} + +{% endif %} {% endfor %} -

Created with


+

Created with


red hat ansible automation platform logo +

The source code to create this report can be found at https://github.com/network-automation/toolkit

+If you are new to Ansible Automation check out the following links:
+Getting Started
+Free hands-on workshops
+Youtube Videos
+

diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/static.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/static.j2 new file mode 100644 index 0000000..33ce549 --- /dev/null +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/static.j2 @@ -0,0 +1,45 @@ + +
+
+

Static Routes

+
+{% if hostvars[network_switch]['ansible_network_resources']['static_routes'] is defined and hostvars[network_switch]['ansible_network_resources']['static_routes']|length > 0 %} + + + + + + + + + + + + +{% for net_route in hostvars[network_switch]['ansible_network_resources']['static_routes'] %} + + +{% for address_family in net_route.address_families|default([]) %} + +{% for routes in address_family['routes'] %} + +{% for next_hops in routes['next_hops'] %} + + + +{% endfor %} +{% endfor %} +{% endfor %} + +{% endfor %} + +
VRFAddress-FamilyRouteInterfaceNext-Hop AddressGlobal
{{ net_route['vrf']|default("N/A") }}{{ address_family['afi'] }}{{ routes['dest'] }}{{ next_hops['interface']|default("N/A") }}{{ next_hops['forward_router_address']|default("N/A") }}{{ next_hops['global']|default("N/A") }}
+{% elif hostvars[network_switch]['ansible_network_resources']['static_routes'] is defined and hostvars[network_switch]['ansible_network_resources']['static_routes']|length == 0 %} +Static Routes are not configured on this device +{% else %} +No Static Route information available +{% endif %} +
+
+
+ diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/summary.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/summary.j2 deleted file mode 100644 index 5f643e4..0000000 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/summary.j2 +++ /dev/null @@ -1,25 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - -
Platform{{hostvars[network_switch]['ansible_net_system']}}
Code Version{{hostvars[network_switch]['ansible_net_version']}}
Model{{hostvars[network_switch]['ansible_net_model']|default("N/A")}}
Serial Number{{hostvars[network_switch]['ansible_net_serialnum']}}
Transport{{hostvars[network_switch]['ansible_net_api']}}
-
diff --git a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/vlans.j2 b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/vlans.j2 index 044a334..a01d56c 100644 --- a/collections/ansible_collections/demo/patching/roles/build_report_network/templates/vlans.j2 +++ b/collections/ansible_collections/demo/patching/roles/build_report_network/templates/vlans.j2 @@ -1,8 +1,8 @@ - +
-
- -