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: 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..3f2406f --- /dev/null +++ b/network/README.md @@ -0,0 +1,38 @@ +# Network Demos + +## Table of Contents +- [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. 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) diff --git a/network/setup.yml b/network/setup.yml new file mode 100644 index 0000000..f2c2cc6 --- /dev/null +++ b/network/setup.yml @@ -0,0 +1,66 @@ +--- +user_message: + +controller_components: + - organizations + - projects + - inventories + - inventory_sources + - inventory_source_update + - job_templates + +controller_organizations: + - name: Networking + galaxy_credentials: + - Automation Hub + - Ansible Galaxy + +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 + use_fact_cache: yes + 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