Merge pull request #21 from RedHatGov/net

Network Demos
This commit is contained in:
Ajay Chenampara
2022-08-19 15:15:58 -04:00
committed by GitHub
4 changed files with 107 additions and 2 deletions

View File

@@ -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: <linux or windows or cloud>
demo: <linux or windows or cloud or network>

View File

@@ -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

38
network/README.md Normal file
View File

@@ -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)

66
network/setup.yml Normal file
View File

@@ -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