áááŒá¬áá®ááœááºááŸáááá·áº Red Hat Ansible Engine 2.9 ááẠá
áááºááŸá¯ááºááŸá¬ážááœááºáᬠááá¯ážáááºááŸá¯áá»á¬ážááᯠáááºáá±á¬ááºáá¬áᬠá¡áá»áá¯á·ááᯠá€áá±á¬ááºážáá«ážááœáẠááœá±ážááœá±ážáá¬ážáááºá á¡ááŒá²ááá¯ááá¯á áá»áœááºá¯ááºááá¯á·ááẠá¡ááá¯ááºážá¡ááá¯ááºážááá¶á·ááá¯ážáá°áá®ááŸá¯ááŒáá·áº Ansible Network ááá¯ážáááºááŸá¯áá»á¬ážááᯠááœáá·áºáááºážááŒááºáá¬á
áœá¬ áá±á¬áºáá±á¬ááºáá»ááºááŸááááºá áá»áœááºá¯ááºááá¯á·ááŸáá·áºáá°ážáá±á«ááºážáá« - ááŒáá·áºááŸá¯áá«á
áááŒá¬áá±ážáá®á áá¯ááºááŒááºáá²á·ááá·áºá¡ááá¯ááºážá
- Arista EOS
- Cisco ááẠIOS ááá¯
- Cisco IOS XR
- Cisco NX-OS
- Juniper Junos
- VyOS
Ansible Automation á
á¬áááºážááœááºážááŸá¯ááŸáá
áºááá·áº Red Hat á០á¡ááŒáá·áºá¡ááá¶á·ááá¯ážáá±ážáá¬ážááá·áº ááááºáá±á¬ááºážáá»á¬ážá
á¬áááºážá¡ááŒáá·áºá¡á
á¯á¶á¡ááœááºá
áá«ááá¯á· áá¬áááºáá°áá²á·áá²á
ááœááºáá²á·ááá·áº áá±ážááŸá áºá¡ááœááºážá áá»áœááºá¯ááºááá¯á·ááẠááœááºááẠá¡ááá¯á¡áá»á±á¬ááºá áá áºááá¯ááºáᬠááááºáá±á¬ááºážááᯠáá®ááœááºáááºáá®ážááŒááºážá¡ááŒá±á¬ááºáž áá»á¬ážá áœá¬áá±á·áá¬áááºáá°áá²á·áááºá áá»áœááºáá±á¬áºááá¯á·áááºáž áááá¬áááºá áááºááᯠááááºáá±á¬ááºáž ááŸá±ážáá±á¬ááºážáá á¹á ááºážááᯠAnsible playbooks ááŸáá·áº end users ááá¯á·á០á¡áá¯á¶ážááŒá¯áááºá á€ááœáẠáá»áœááºá¯ááºááá¯á· ááááŸááá¬ážáááºááŸá¬-
- á¡ááœá²á·á¡á ááºážáá»á¬ážááẠáá áºáá¯áááºážáá¬áá áá±á¬ááºážáá»áá°á¡áá»á¬ážá¡ááŒá¬ážá០á ááºáá á¹á ááºážáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŒáááºá
- á¡ááá¯á¡áá»á±á¬ááºá áá áºááẠáááºážááá¬ááá¯ááºáá¬ááŒá áºá ááºáá áºáá¯áá¬áá áááºáá»á±ážááŸá¯áá áºáá¯áááºážááŒá áºáááºá
- á¡ááá¯á¡áá»á±á¬ááºá áá Ạáá®ááá¯ááºážá á¡ááŒá±áᶠáááá¯áá¬ááá¯ááºáᬠá¡ááŒá±áá¶áá°áá»á¬áž ááŒá±á¬áá·áº á¡ááá¯ááºážá¡áá¬ááŒáá·áº ááœááºáááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬áẠáá±á¬áºááŒááºážááẠááá¯ááááºáá²áááºáᯠáááºááááºá
ááœááºáá²á·áá±á¬ áá áºááŸá áºáá»á±á¬áºá áá»áœááºá¯ááºááá¯á·á áá±ááŸááºááá¯ážáááºááŸá¯ á¡á á®á¡á ááºáá»á¬ážááᯠááœá±ážááœá±ážáá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·á áá±á¬áºááá¯ááááºáá±á¬ááºáááºáá»á¬ážááẠá¡á±á¬ááºáá«ááá¯á·ááᯠáá±á¬ááºážááá¯áá²á·áááº-
- á¡áá»ááºá¡áááºá á¯áá±á¬ááºážááŸá¯ááẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ á á¶áááºááŸááºáá¬ážááŒá®áž á ááºá¡á¬ážáá¯á¶ážááŸá á¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŸá¯á¡ááœá¬ážá¡áá¬áá»á¬ážááŸáá·áº áá»áááºááŸááááºááá¯á¡ááºáááºá
- á ááºáá á¹á ááºážáá±á«áºááŸá ááœá²á·á ááºážááŸá¯áá¯á¶á á¶áá»á¬ážááᯠá¡ááºááááºáá¯ááºááŒááºážááẠá á¶áá»áááºá á¶ááœáŸááºážááŸáá·áº áááááºáááºážááŒá áºááẠááá¯á¡ááºááŒá®áž Ansible module áá»á¬ážááẠá¡áá»ááºá¡áááºáá»á¬ážááᯠá á¯áá±á¬ááºážááŒá®ážáá±á¬áẠá ááºáááºážá áá¯ááááá áºáááºááᯠááá¯ááºááœááºááá¯ááºá á±áááºáááºáž ááá¯á¡ááºáá«áááºá
- á ááºáá á¹á ááºážááœá²á·á ááºážáá¯á¶ááœá²á·á ááºážáá¯á¶ááᯠááœá²á·á ááºážáá¯á¶áá±áá¬á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²áááºá¡ááœáẠááá¯ááºáá¬ááŒá®áž áá¶á·ááá¯ážáá±ážááá·áºáááºážáááºážáá»á¬áž ááá¯á¡ááºáá«áááºá á€á¡ááŒá±áá¶á¡á¬ážááŒáá·áºá á¡ááŸááºááá¬ážáá¡áááºážá¡ááŒá áºááᯠááœááºáááºáááááá¬á០ááœáŸá±á·ááá¯ááºáááºá
á¡ááŒá áºááŸááºááá¯ážáááºááŸá¯áá»á¬áž
Ansible ááᯠá¡áá¯á¶ážááŒá¯á ááœááºáááºá
ááºáá
á¹á
ááºážáá»á¬ážá០á¡áá»ááºá¡áááºáá»á¬ážááᯠá
á¯áá±á¬ááºážááŒááºážááẠáá»áááºážá¡á¬ážááŒáá·áº ááŒá
áºáááºáááºá áááºá¡ááŒá±áá¶ááááºáá±á¬ááºážáá»á¬ážááœáẠá¡áá»ááºá¡áááºá
á¯áá±á¬ááºážááŒááºážá
áœááºážáááºáá»á¬áž ááœá²ááŒá¬ážáá±á¬áºáááºáž áááºážááá¯á·ááœáẠáá±áá¬áá»á¬ážááᯠááœá²ááŒááºážá
áááºááŒá¬ááŒááºážááŸáá·áº á
á¶áááºááŸááºááŒááºážá¡ááœáẠáá±á¬á·áááºááá¯ážá¡ááœá²áá»á¬ážááœáẠáá±áá¬áá±á¬áºááŒááŸá¯ááᯠá
á¶áááºááŸááºááŒááºážá¡ááœáẠáá¯ááºáá±á¬ááºááá¯ááºá
áœááºáž á¡áááºážááẠááá¯á·ááá¯áẠáááŸááá±á áááºáá«á
Ansible Network Engine á¡áááºážááá¹áááœáẠáá¯ááºáá±á¬ááºáá±ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á· áááááŒá¯áááá±áááºá áá¯á¶ážá á¶á¡ááá¯ááºážá 24K áá±á«ááºážáá¯ááºáá»á¬ážááŒá®ážáá±á¬ááºááœáẠNetwork Engine á¡áááºážááá¹áááẠááœááºáááºá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŸá¯á¡ááŒá±á¡áá±áá»á¬ážá¡ááœáẠAnsible Galaxy ááœáẠáá±áááºážá¡á á¬ážáá¯á¶áž Ansible á¡áááºážááá¹ááá»á¬ážáá²ááŸáá áºáá¯ááŒá áºáá¬áááºá Ansible 2.8 ááœáẠááá¯á¡ááºááá·áºá¡áá¬áá»á¬ážá¡ááœáẠááŒááºáááºááẠá€á¡áá¬á¡áá»á¬ážá¡ááŒá¬ážááᯠAnsible 2.9 ááá¯á·áááŒá±á¬ááºážáá®ááœááºá ဠAnsible á¡áááºážááá¹áááẠááœá²ááŒááºážá áááºááŒá¬áááºá á¡áááá·áºáá±ážáá»ááºáá»á¬ážááᯠá á®áá¶ááá·áºááœá²áááºááŸáá·áº ááœááºáááºá ááºáá á¹á ááºážáá»á¬ážá¡ááœáẠáá±áá¬á á¯áá±á¬ááºážááẠááááá¯á¶ážáááááá¬á¡á á¯á¶ááᯠáá¶á·ááá¯ážáá±ážáá¬ážáááºá
Network Engine ááá¯á¡áá¯á¶ážááŒá¯áááºážááᯠáááºáááá«áá áááºážááẠAnsible ááœááºá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠá¡áá»ááºá¡áááºá¡áá»ááºá¡áááºá
á¯áá±á¬ááºážááŒááºážá ááœá²ááŒááºážá
áááºááŒá¬ááŒááºážááŸáá·áº á
á¶áááºááŸááºááẠá¡ááœááºáááá±á¬ááºáá±á¬áááºážáááºážááŒá
áºáááºá á€á¡áááºážááá¹ááá¡á¬ážáááºážáá»ááºááŸá¬ ááááºáá±á¬ááºážáá
áºáá¯á
á®ááŸáá·áº ááœááºáááºáá¯ááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážá¡ááœáẠááœá²ááŒááºážá
áááºááŒá¬ááŸá¯á¡á
á¯á¡á
ááºážáá
áºáá¯áá¯á¶ážááᯠáááºáá®ážááẠááá¯á¡ááºáá«áááºá áááºáá®ážáááºá ááá¯á·áá±á¬ááºáááºááŸáá·áº ááœá²ááŒááºážá
áááºááŒá¬ááŸá¯áá»á¬ážááᯠááááºážááááºážááẠáááºáá»áŸáááºáá²áááºááᯠáá¬ážáááºáááºá ááŒáá·áºááŸá¯áá«á
á¡ááá¯áá»á¯ááºá¡á¬ážááŒáá·áºá á ááºáá»á¬ážá០á¡áá»ááºá¡áááºáá»á¬ážááᯠááá°ááŒá®áž áááºážááá¯á·ááᯠáá±á¬á·áááºááá¯ážá¡ááœá²áá»á¬ážá¡ááŒá Ạáá¯á¶ááŸááºááŒá áºá¡á±á¬áẠááŒá¯áá¯ááºááŒááºážááẠá¡ááá¯ááºážá¡áá¬ááŒáá·áº á¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠáááŸááááŒá áºááá¯á¡ááºáá±á¬áºáááºáž ááá·áºááœáẠáá±á¬ááºážáá»áá°áá»á¬ážááŸáá·áº ááœááºáááºááááºáá±á¬ááºážáá»á¬ážá áœá¬ááŸáááá·áºá¡áá« áááºážááá¯áááŸááááºááŸá¬ áááºáá²áááºá
Ansible 2.9 ááŸá ááœááºáááºá¡áá»ááºá¡ááẠáá±á¬áºáá»á°ážáá áºáá¯á á®ááẠááá¯á¡áá« ááœááºáááºá ááºáá á¹á ááºážáá áºáá¯á ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠááá¯ááºážááŒá¬ážá áááºááŒá¬ááá¯ááºááŒá®áž á¡ááá¯áá áºáá»á áºááá¯ááºáá»á¬ážá Ansible á¡áááºážááá¹ááá»á¬áž ááá¯á·ááá¯áẠá áááºááŒáá¯ááºááœá²ááŒááºážá áááºááŒá¬ááŸá¯áá»á¬ážááá«áá² ááœá²á·á ááºážáááºáá±á¬ááºáá¬ážááá·áº áá±áá¬ááᯠááŒááºáá±ážááá¯ááºáá«áááºá
Ansible 2.9 ááŸá á á¡ááºááááºáá¯ááºáá¬ážáá±á¬ ááœááºááẠmodule áá áºáá¯á¡á¬áž áá¯ááºááŒááºááá¯ááºááá¯ááºážá ááœá²á·á ááºážááŸá¯áá¯á¶á á¶á á€ááá¹áááŸáá·áºáááºáááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºá¡ááœáẠá¡áá»ááºá¡ááẠmodule ááᯠááŒáŸáá·áºáááºáá¬ážáá«áááºá ááá¯ááá¯áááºááŸá¬á á¡áá»ááºá¡áááºáá»á¬ážááŸáá·áº module áá»á¬ážáááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááºááá¯á¡áá»áááºááœááºáá°áá®áá±á¬á¡ááŸáááºá¡áá¯ááºááŒáá·áºááŒá áºáá±á«áºááŒá®ážáááºážááá¯á·áááºáá¯á¶áá±áá¬ááœá²á·á ááºážáá¯á¶á¡ááŒá²ááŸááááá·áºáááºá
ááœááºáááºáááááá¬áá
áºáá¯áá±á«áºááŸá á¡áááºážá¡ááŒá
áºáá»á¬ážáááœá²á·á
ááºážáá¯á¶ááᯠááŒááºáááºááá°ááŒá®áž ááœá²á·á
ááºážáááºáá±á¬ááºáá¯á¶áá±áá¬á¡ááŒá
ẠáááºážáááºážááŸá
áºáá»áá¯ážááŒáá·áº ááŒá±á¬ááºážáá²ááá¯ááºáááºá ááŸá
áºáá»áá¯ážáá¯á¶ážááœááºá áááºááẠáá±á¬á·áá»ááºá
áá¬ážáá¯á¶ážá¡áá
áºááᯠá¡áá¯á¶ážááŒá¯á áá®ážááŒá¬ážá¡áááºážá¡ááŒá
áºá
á¬áááºážáá
áºáá¯ááᯠá
á¯áá±á¬ááºážááŒá®áž ááŒá±á¬ááºážáá²ááá¯ááºáááºá gather_network_resources
. á¡áááºážá¡ááŒá
áºá¡áááºáá»á¬ážááẠá¡ááœááºá¡áááºááŒá±ááá·áº module á¡áááºáá»á¬ážááŸáá·áº ááá¯ááºáá®áááºá
á¡áá»ááºá¡áááºá á¯áá±á¬ááºážáá±á ááº
á¡áááá
áá¬ážáá¯á¶ážááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá gather_facts
Playbook áá¡á
ááœáẠáááºááŸáá
ááºáá
á¹á
ááºážááœá²á·á
ááºážáá¯á¶áá¯á¶á
á¶ááᯠáááºááŒááºáááºááá°ááŒá®ážáá±á¬áẠáááºážááᯠplaybook áá
áºáá¯áá¯á¶ážááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá á
ááºááŸááá°ááá·áº á¡áááºážá¡ááŒá
áºáá
áºáá¯áá»ááºážá
á®ááᯠáááºááŸááºáá«á
- hosts: arista
module_defaults:
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
gather_facts: True
á€ááá°áá¬áá»á¬ážááœáẠá¡áá
áºá¡áááºážáá
áºáá¯áá¯ááᯠááẠááááá¬ážáááá±á¬ááºáž áááááŒá¯áááá±áááºá gather_facts: true
ááœááºáááºá
ááºáá
á¹á
ááºážáá»á¬ážá¡ááœáẠáá°áááºážá¡áá»ááºá¡áááºá
á¯áá±á¬ááºážááŸá¯á¡ááœáẠááá¯áááŸáááá¯ááºáá«ááŒá®á
network fact module ááᯠááá¯ááºááá¯ááºá¡áá¯á¶ážááŒá¯ááŒááºáž-
- name: collect interface configuration facts
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
ááá±ážá á¬á¡á¯ááºááẠá¡ááºáá¬áá±á·á áºááŸáá·áºáááºáááºááá·áº á¡á±á¬ááºáá«á¡áá»ááºá¡áááºáá»á¬ážááᯠááŒááºáá±ážáááº-
ansible_facts:
ansible_network_resources:
interfaces:
- enabled: true
name: Ethernet1
mtu: '1476'
- enabled: true
name: Loopback0
- enabled: true
name: Loopback1
- enabled: true
mtu: '1476'
name: Tunnel0
- enabled: true
name: Ethernet1
- enabled: true
name: Tunnel1
- enabled: true
name: Ethernet1
Ansible ááẠArista á ááºáá á¹á ááºážá០áá°áááœá²á·á ááºážáá¯á¶áá¯á¶á á¶ááᯠáááºááá¯á·ááá°ááŒá±á¬ááºáž áááááŒá¯ááŒá®áž áá±á¡á±á¬ááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠá á¶áá±á¬á·áááºááá¯ážá¡ááœá²áá»á¬ážá¡ááŒá Ạá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáááºážááᯠááœá²á·á ááºážáááºáá±á¬ááºáá¬ážááá·áºáá±áá¬á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²áá±ážáááºááᯠáááááŒá¯áá«á
Interface á¡áá»ááºá¡áááºáá»á¬ážááᯠAnsible ááááºážáááºážáá¬ážáá±á¬ variable áá»á¬ážááá¯á· áá±á«ááºážááá·áºááá¯ááºááŒá®áž á¡áááºážá¡ááŒá
Ạáá±á¬áºáá»á°ážááá¯á· ááá·áºááœááºážááŸá¯á¡ááŒá
Ạáá»ááºáá»ááºáž ááá¯á·ááá¯áẠáá±á¬ááºááá¯ááºážááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá eos_interfaces
á¡ááá¯áá¯ááºáá±á¬ááºááŒááºáž ááá¯á·ááá¯áẠááŒá±á¬ááºážáá²ááŒááºážáááŸááá²á
á¡áááºážá¡ááŒá Ạáá±á¬áºáá»á°ážáá»á¬áž
ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠá¡áá»ááºá¡áááºáá»á¬ážááᯠáá¯ááºáá¯ááºááŒá®áž áá±áá¬ááᯠáá¯á¶ááŸááºááŒá áºá¡á±á¬ááºááŒá¯áá¯ááºáᬠáááºážááá¯á·á¡á¬áž á á¶ááŒá¯ááŒááºááœááºážáá±áá¬áááºáá±á¬ááºáá¯á¶áá¯á¶á á¶áá áºáá¯á¡ááŒá Ạá¡á¶áááºááœááºáá»ááŒá áºá á±ááŒá®áž á¡ááŸááºááá¬ážáá¡áááºážá¡ááŒá áºááᯠá¡áááºááá·áºáááŸááá¬ážáááºá áá°áž! á€áááºááŸá¬ áá±á¬ááºážááœááºáá«áááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠáá®ážááá·áºá ááºáá á¹á ááºážááááºáá±á¬ááºážá០áá»áŸá±á¬áºááá·áºáá¬ážááá·áº áá®ážááŒá¬ážááœá²á·á ááºážáá¯á¶ááá¯á· áá±á¬á·áááºááá¯ážá¡ááœá²áá»á¬ážááᯠáá áºáááºážáááºážááŒáá·áº ááŒá±á¬ááºážááẠááá¯á¡ááºáá±áá±ážáááºá ááᯠá¡áá áºáá±á¬ á¡áá»ááºá¡áááºá á¯áá±á¬ááºážááŒááºážááŸáá·áº áá¯á¶ááŸááºááŒá¯áá¯ááºááŒááºážááá¯ááºáᬠááá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áº ááá¯ááºáá®ááẠáá»áœááºá¯ááºááá¯á·ááẠááá¯á¡áá« ááááºáá±á¬ááºážá¡ááá¯áẠáá®ážááá·áº module áá»á¬áž ááá¯á¡ááºáá«áááºá
á¡áááºážá¡ááŒá Ạmodule ááá¯áá¬áá¬áá²á á ááºáá á¹á ááºážá á á®á ááºáááºááŸááºááŸá¯á¡ááá¯ááºážáá»á¬ážááᯠááá¯á ááºáá á¹á ááºážá០áá¶á·ááá¯ážáá±ážááá·áº á¡áááºážá¡ááŒá áºáá»á¬ážá¡ááŒá Ạáááºá ááºážá á¬ážááá¯ááºáááºá ááœááºáááºá¡áááºážá¡ááŒá Ạáá±á¬áºáá»á°ážáá»á¬ážááẠá¡áááºážá¡ááŒá áºáá áºáá¯áááºážá¡ááœáẠáááºááœááºáá»ááºááŸáááŸá ááá·áºáááºáá¬ážááŒá®áž ááŸá¯ááºááœá±ážáá±á¬ ááœááºáááºáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá á®á ááºáááºááŸááºáááºá¡ááœáẠáááºáá±á¬ááºááŒááºážáá¯ááºááœááºáá»á¬ážáá²á·ááá¯á· á¡á á®á¡á á¥áºááŒá¯áá¯ááºááá¯ááºáááºá ááááºá¡áá±ááŒáá·áºá á¡áááºážá¡ááŒá Ạmodule áá áºáá¯áááºááá¯ááºáá±á¬ááŒá±á¬áá·áº á¡áááºážá¡ááŒá Ạmodule áá áºáá¯á¡ááœáẠááá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áº áááºááŸááºáá»ááºáá»á¬ážááẠááá¬áá¡ááá¯ááºážááá¯ážááŸááºážáá«áááºá О ááœááºáááºá ááºáá á¹á ááºážáá áºáá¯áá±á«áºááœáẠáá®ážááŒá¬ážááœááºáááºáááºáá±á¬ááºááŸá¯ááᯠá á®á ááºáááºááŸááºáá«á
á¡áááºážá¡ááŒá
Ạmodule áá
áºáá¯ááá¯ááºáá±á¬ááºáá¯á¶ááá¯ááŸááºážááŒáááºá network resource facts ááŸáá·áº module á¡áá
áºááá¯á¡áá¯á¶ážááŒá¯á ideempodent áá¯ááºáá±á¬ááºáá»ááºááá¯ááŒáááá·áº á¥ááᬠplaybook ááá¯ááŒáá·áºááŒáá«á
áá¯á·á eos_l3_interface
.
- name: example of facts being pushed right back to device.
hosts: arista
gather_facts: false
tasks:
- name: grab arista eos facts
eos_facts:
gather_subset: min
gather_network_resources: l3_interfaces
- name: ensure that the IP address information is accurate
eos_l3_interfaces:
config: "{{ ansible_network_resources['l3_interfaces'] }}"
register: result
- name: ensure config did not change
assert:
that: not result.changed
áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºážá á ááºááŸá á¯áá±á¬ááºážáá¬ážáá±á¬áá±áá¬ááᯠááŒá±á¬ááºážáá²ááŒááºážáááŸááá² áááºááá¯ááºáá¬á¡áááºážá¡ááŒá Ạmodule ááá¯á· ááá¯ááºááá¯ááºááœáŸá²ááŒá±á¬ááºážáá«áááºá á áááºááá·áºá¡áá«á ááá±ážá á¬á¡á¯ááºááẠá ááºáá á¹á ááºážá០áááºááá¯ážáá»á¬ážááᯠááá°ááŒá®áž áááºážááá¯á·ááᯠáá»áŸá±á¬áºááá·áºáá¬ážááá·áºá¡áá¬áá»á¬ážááŸáá·áº ááŸáá¯ááºážááŸááºáá«áááºá á€á¥ááá¬ááœááºá ááŒááºáá±ážáá±á¬áááºááá¯ážáá»á¬ážááẠáá»áŸá±á¬áºááá·áºáá¬ážááá·áºá¡ááá¯ááºážááŒá áºááẠ(ááá¯ááá¯áááºááŸá¬á áááºážááẠconfiguration deviations ááá¯á á áºáá±ážáááº) ááŸáá·áº configuration ááŒá±á¬ááºážáá²ááŒááºážááŸááááŸá á¡á á®áááºáá¶áááºá
configuration drift ááá¯ááŸá¬ááœá±ááẠá¡áá±á¬ááºážáá¯á¶ážáááºážáááºážááŸá¬ Ansible ááááºážáááºážáá¬ážáá±á¬ variables áá»á¬ážááœáẠá¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážáááºááŸáá·áº á á áºáá±ážáá±ážáá¯ááºááœáẠá¡áááºážá¡ááŒá Ạmodule ááŒáá·áº á¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ á¡áá¯á¶ážááŒá¯áááºááŒá áºáááºá á€áááºááŸá¬ áá áºá á¯á¶áá áºáŠážá០áááºááá¯ážáá»á¬ážááᯠááá¯ááºááá¯ááºááŒá±á¬ááºážáá²ááŒááºážááŸááááŸá ááŒáá·áºááŸá¯ááẠááá¯ážááŸááºážáá±á¬áááºážáááºážááŒá áºáááºá ááá á¹á á¡áá»á¬ážá á¯ááœááºá á¡ááœá²á·á¡á ááºážáá»á¬ážááẠAnsible Automation ááŒáá·áº áá¯ááºáá±á¬ááºááŸá¯áá»á¬ážá áœá¬ááᯠáá¯ááºáá±á¬ááºáá±á¬áºáááºáž á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááŸáá·áº ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠááá¯ááºááá¯ááºááœáá·áºááŒá¯áááºá
á¡áááºážá¡ááŒá Ạmodule á¡áá áºáá»á¬ážááẠááááºá¡áá¬áá»á¬ážááŸáá·áº áááºááá¯á·ááœá¬ááŒá¬ážááááºážá
ááœááºáááºá¡ááá¯á¡áá»á±á¬ááºá áá áºá¡ááºáá»ááºáá®áá¬áá áºáŠážá¡ááœááºá Ansible 3 ááŸáá·áº ááááºáá¬ážááŸááºážáá»á¬ážááœáẠáááºážááŒá Ạmodule áá»á¬ážá¡ááŒá¬áž á¡ááá ááœá¬ááŒá¬ážáá»áẠ2.9 áá¯ááŸááááºá
1) áá±ážáá¬ážáá±á¬ ááœááºáááºá¡áááºážá¡ááŒá áºáá áºáá¯á¡ááœáẠ(ááœá²á·á ááºážáá¯á¶ááá¹ááá áºáá¯á¡ááŒá áºáááºáž áá°áááá¯ááºáááº)á áá¶á·ááá¯ážáá±ážáá¬ážáá±á¬ ááœááºáááºáááºáááºááŸá¯á áá áºáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠáá±á¬áºáá»á°ážáá»á¬ážááŸáá·áº á¡áá»ááºá¡áááºáá»á¬ážááẠáá áºááŒáá¯ááºáááºáááºáž ááŒá±á¬ááºážáá²áá¬áááºááŒá áºáááºá Ansible ááẠááœááºáááºááááºáá±á¬ááºážáá áºáá¯áá±á«áºááœáẠá¡áááºážá¡ááŒá áºááœá²á·á ááºážáá¯á¶ááŒááºáááºááŒááºážááᯠáá¶á·ááá¯ážáá«áá áá±áá¬ááá¯ááºážááœáẠáá¶á·ááá¯ážááá·áºáááºáᯠáá»áœááºá¯ááºááá¯á·áááºááŒááºáá«áááºá ááœááºáááºáááºáááºááŸá¯á áá áºá¡á¬ážáá¯á¶ážááœáẠáááºážááŒá áºááŸáá·áº áá¶á·ááá¯ážáá¬ážáá±á¬ áá±á¬áºáá»á°ážáá»á¬ážááŒáá·áº ááœááºáááºáááºáááºááŸá¯á áá áºá¡á¬ážáá¯á¶ážááœáẠáááºážááŒá áºáá áºáᯠ(LLDP áá²á·ááá¯á·áá±á¬) ááᯠááá¯á¡áá« á á®á ááºáááºááŸááºááá¯ááºáá±á¬ááŒá±á¬áá·áº á¡áááºážá¡ááŒá Ạmodules áá»á¬ážá¡áá¯á¶ážááŒá¯ááŸá¯ááᯠááá¯ážááŸááºážá á±áááºá
2) ááá¯á¡áá« á¡áááºážá¡ááŒá Ạáá±á¬áºáá»á°ážáá»á¬ážááœáẠááŒááºáááºáááºááá¯ážáá áºáᯠáá«áááºáááºá
merged
: ááœá²á·á ááºážááŸá¯á¡á¬áž áá¶á·ááá¯ážáá¬ážáá±á¬ ááœá²á·á ááºážááŸá¯áá¯á¶á ᶠ(áá°á) ááŸáá·áº áá±á«ááºážá ááºáá¬ážáááºáreplaced
: á¡áááºážá¡ááŒá áºááœá²á·á ááºážáá¯á¶ááᯠáá¶á·ááá¯ážáá±ážáá¬ážááá·áº ááœá²á·á ááºážááŸá¯ááŒáá·áº á¡á á¬ážááá¯ážáááºááŒá áºáááºáoverridden
: á¡áááºážá¡ááŒá áºááœá²á·á ááºážáá¯á¶ááᯠáá¶á·ááá¯ážáá±ážáá¬ážááá·áº ááœá²á·á ááºážááŸá¯ááŒáá·áº á¡á á¬ážááá¯ážáááºááŒá áºáááºá áááá¯á¡ááºáá±á¬ á¡áááºážá¡ááŒá ẠááŒá áºáááºáá»á¬ážááᯠáá»ááºáá áºáááºádeleted
: á¡áááºážá¡ááŒá áºááœá²á·á ááºážáá¯á¶á¡á¬áž áá¯á¶áá±á¡ááŒá Ạáá»ááº/ááŒááºáááºááá°áá«áááºá
3) ááá¯á¡áá« á¡áááºážá¡ááŒá Ạáá±á¬áºáá»á°ážáá»á¬ážááœáẠáááºááŒáááºáá±á¬ ááŒááºááá¯á·áááºááá¯ážáá»á¬áž áá«áááºáááºá ááœááºáááºá¡áááºážá¡ááŒá Ạáá±á¬áºáá»á°ážá០ááœááºáááºá ááºáá á¹á ááºážááá¯á· ááá¯á¡ááºáá±á¬ á¡ááŒá±á¬ááºážá¡áá²áá»á¬áž (ááá¯á·ááá¯ááº) á¡ááá¯ááŒá¯áá±á¬á¡áá«á áááºážááẠáá°áá®áá±á¬áá±á¬á·áááºááá¯ážá¡ááœá²áá»á¬ážááᯠplaybook ááá¯á· ááŒááºáá±ážáááºá
before
á¡áá¯ááºáá áá® : á ááºáá á¹á ááºážáá±á«áºááœáẠááœá²á·á ááºážáááºáá±á¬ááºáá¯á¶áá±áá¬áá¯á¶á á¶áafter
: á ááºáá á¹á ááºážááẠááŒá±á¬ááºážáá²ááœá¬ážáá«á (ááá¯á·ááá¯áẠá ááºážáááºááŸá¯áá¯ááºááᯠá¡áá¯á¶ážááŒá¯áá«á ááŒá±á¬ááºážáá²ááá¯ááºáááº)á ááááºááœá²á·á ááºážáá¯á¶á¡á¬áž ááœá²á·á ááºážáá¯á¶áá±áá¬á¡ááŒá ẠááŒááºááá¯á·áá±ážáá«áááºácommands
: á¡ááá¯ááŸááá±á¬ á¡ááŒá±á¡áá±ááá¯á· áá±á¬ááºá á±ááẠá ááºáá á¹á ááºážáá±á«áºááœáẠáááºááá·áºááœá²á·á ááºážááŸá¯ááá¯ááºáᬠááœáŸááºááŒá¬ážáá»ááºáá»á¬ážáááᯠáá¯ááºáá±á¬ááºáá«áááºá
áá«ááœá±á¡á¬ážáá¯á¶ážá áá¬ááá¯ááá¯ááá¯áá¬áá²á á¡áááºááŒá±á¬áá·áº á¡áá±ážááŒá®ážááááºážá
á€ááá¯á·á áºááœáẠááŸá¯ááºááœá±ážáá±á¬ á¡áá°á¡ááá»á¬ážá áœá¬ááᯠááŒá¯á¶áá¯á¶áááá±á¬áºáááºáž á¡áá¯á¶ážááœáẠáá¯ááºáááºážáá¯á¶ážáá±á¬ááºáááºáá»á¬ážá á¡ááŸááºáááẠá á¯áá±á¬ááºážááŒááºážá áá±áá¬áá¯á¶ááŸááºááŒá¯áá¯ááºááŒááºážááŸáá·áº á¡ááá¯á¡áá»á±á¬ááºá áá áºááááºáá±á¬ááºážá¡ááœáẠááœááºážáááºááœá²á·á ááºážááŸá¯ááá¯á·ááᯠáááºááá¯ááá¯áá¬ážáááºáá¬áááá·áºáááºáᯠáá»áŸá±á¬áºááá·áºáá«áááºá áá«áá±ááá·áº áá¬ááŒá±á¬áá·áº áá®ááá¯ážáááºááŸá¯ááœá± ááá¯á¡ááºáá¬áá²á á¡ááœá²á·á¡á ááºážáá»á¬ážá áœá¬ááẠáááºážááá¯á·á á¡áá¯ááºáá®áááºáááºážáá»ááºááᯠááá¯ááá¯ááœááºáááºááŒá®áž ááŸááºááŒáá¯ááºááá¯ááºá áœááºážááŸáá á±ááẠáá áºáá»á áºáááºá¡ááœááºááŒá±á¬ááºážááŒááºážááᯠááá¯ááºáá»áŸá±á¬ááºáá±ááŒáááºá ááá¯áá±á¬ááºážáááºááŒá áºá á±á ááá¯ááá¯ážáááºááŒá áºá á± ááœááºáááºá¡ááºáá»ááºáá®áᬠá¡áá»á¬ážá¡ááŒá¬ážááẠááá¯ááºáá»áá¯ážá á®ážááœá¬ážá¡ááœáẠááá¯á·ááá¯áẠá á®áá¶ááá·áºááœá²ááŸá¯á ááœáŸááºááŒá¬ážáá»ááºááŒáá·áº ááœááºáááºáááºáá±á¬ááºáá°áá»á¬áž ááŒá áºáá¬ááŒáááºá
áá áºáŠážáá»ááºážá á® ááœááºááẠááá°áá¬áá¯á¶á á¶áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬áẠáá¯ááºáá±á¬ááºááŒááºážááẠSilos á ááŒá¿áá¬ááᯠáááŒá±ááŸááºážááá¯ááºáá² á¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áááᬠáááá±á¬ááºááŸá¯ááᯠááá¯ážááŒáá·áºá á±ááŒá±á¬ááºáž á¡ááœá²á·á¡á ááºážáá»á¬ážá ááá±á¬áá±á«ááºáá±ááŒáááºá Red Hat Ansible Automation Platform ááẠááœááºáááºá ááºáá á¹á ááºážáá áºáá¯áá±á«áºááŸá áá±á¬ááºáá¶áá±áá¬áá»á¬ážááᯠáááá¯ááááºá áá áºááá» á á®áá¶ááá·áºááœá²áááºá¡ááœáẠááá¯ááºáá¬ááŒá®áž á á¶áá»áááºá á¶ááœáŸááºážááŸááá±á¬ á¡áááºážá¡ááŒá áºáá±áá¬áá±á¬áºáááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá ááá¯ááá¯áááºááŸá¬á á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠáá®ážááŒá¬ážáá±á¬ááºážáá»áá° á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááẠáááºážááá¬áá»á¬ážááᯠá¡áá±ážáá±ážááŒááºážááŒáá·áº ááá¯ááá¯áá±ááºáá®áá±á¬ áááºážáááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áᬠáá áºáŠážáá»ááºážááœá²á·á ááºážáá¯á¶áááºážáááºážáá»á¬ážááᯠáááŒááºážááŒááºáž á áœáá·áºááœáŸááºáá¬ááŒáááºá
áá¯á¶ááŒááºá áááºáá»ááá±á¬á áááºáá±ááŒáá¬ážáá±á¬ command modules áá»á¬ážááŸáá·áº configuration áá»á¬ážááá±á·áááºáá»á¬ážááᯠáá±ááœááºáááºáᯠááá¯ááá¯áá«ááá¬ážá ááá á¹á áááŸáá áá»áŸá±á¬áºááá·áºáá¬ážááá·áº ááœááºáááºá¡áááºážá¡ááŒá Ạáá±á¬áºáá»á°ážáá»á¬ážááẠááá á¹á áááºááá¯ááºážááœáẠááá¯á·ááá¯áẠáá±á¬ááºážáá»áá°ááá¯ááºážá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºááá¯ááºáá«á ááá¯á·ááŒá±á¬áá·áº á¡áá»áá¯á·áá±á¬ á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážá¡ááœáẠááœááºáááºá¡ááºáá»ááºáá®áá¬áá»á¬ážá á¡áááá·áºáá±ážááŸá¯ááŸáá·áº ááœá²á·á ááºážááŸá¯áá¯á¶á á¶áá»á¬ážááᯠááá¯á¡ááºáá±áá±ážáááºá áááºážááŒá Ạáá±á¬áºáá»á°ážáá»á¬ážá áááºááœááºáá»ááºááŸá¬ ááŒá®ážáá¬ážáá±á¬ Jinja áááºážáááááºáá»á¬ážááᯠááá¯ážááŸááºážá á±áááºááŸáá·áº ááœá²á·á ááºážáááºáá±á¬ááºáá¯á¶ááá¬ážáá±á¬ á ááºááœá²á·á ááºážáá¯á¶áá»á¬ážááᯠáá¯á¶ááŸáẠJSON áá±á¬áºáááºá¡ááŒá ẠááŒá±á¬ááºážáá²á á±áááºááŒá áºáááºá á¡áááºážá¡ááŒá Ạáá±á¬áºáá»á°ážáá»á¬ážááŒáá·áºá áááºážááá¯á·á ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠáááºááŸá¯áááœááºáá°áá±á¬ á¡ááŸááºááá¬ážá¡áááºážá¡ááŒá áºááᯠááá¯ááºá á¬ážááŒá¯ááá·áº ááœá²á·á ááºážáááºáá±á¬ááºáá¬ážáá±á¬ áá±á¬á·áááºááá¯ážá¡ááœá²áá»á¬ážá¡ááŒá ẠááŒá±á¬ááºážáá²ááẠááŸáááŒá®ážáá¬ážááœááºáááºáá»á¬ážá¡ááœáẠááá¯ááá¯ááœááºáá°áá¬áááºááŒá áºáááºá ááœá²á·á ááºážáááºáá±á¬ááºáá¬ážáá±á¬ áá±á¬á·áááºááá¯ážá¡ááœá²áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áºá áááºááẠá ááºáá áºáá¯á á®ááœáẠáá¯ááºáá±á¬ááºáá±ááá·áº ááœá²á·á ááºážááŸá¯áá¯á¶á á¶áá»á¬ážá០ááœááºáááºáá±á¬ááœá²á·á ááºážáá¯á¶áá±áá¬ááŒáá·áº áá¯ááºáá±á¬ááºááŒááºážááá¯á· ááœáŸá±á·ááá¯ááºááŒá®áž á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶-áá¯ááºáá»ááºážáááºááŸá¯á ááŸá±á·áá¯á¶ážá០ááœááºáááºáá»á¬ážááᯠáá±á¬ááºáá»ááºážááá¯ááºáááºá
Ansible Engine 2.9 ááœáẠáááºááá·áº á¡áááºážá¡ááŒá Ạáá±á¬áºáá»á°ážáá»á¬áž áá¬áááºáááºážá
Ansible 2.9 ááœááºáá¬ááŒá áºáááºááá¯á¡áá±ážá áááºáááŒá±á¬áá®á á¡áá¯ááºááááºáááºáá áºáá¯áá¯á¶ážááá¯áá»áœááºá¯ááºááá¯á·áááºáá²á·ááá¯á·ááœá²áá¬ážáááºááá¯ááááááŒáá«á áá¯á·á
áá»áœááºá¯ááºááá¯á·ááẠá¡áá»áá¯ážá¡á á¬áž 7 áá¯ááᯠááœá²ááŒá¬ážáááºááŸááºáá¬ážááŒá®áž áá áºáá¯áá»ááºážá á®á¡ááœáẠáá®ážááŒá¬ážááœááºáááºá¡áááºážá¡ááŒá áºáá»á¬ážááᯠáááºááŸááºáá±ážáááº-
ááŸááºáá»ááºá
áá¯ááºáááºážáá±á¬ááºáááºáá»á¬ážááŸáá·áº á¡ááá¯ááºážá¡ááá¯ááºážáá¶á០áá¯á¶á·ááŒááºáá»ááºá¡áá±á«áº á¡ááŒá±áá¶á ááœááºááẠtopology áááá¯ááá¯áá±á¬áá»á¬ážá virtualization ááŸáá·áº interfaces áá»á¬ážááŸáá·áº áááºááá¯ááºááá·áº á¡ááá¯áá« modules áá»á¬ážááᯠáŠážá
áœá¬ááá¯ááºááœááºááŒá±ááŸááºážááŒááºážááẠáá¯áá¹áááááºáá«áááºá
á¡á±á¬ááºáá±á¬áºááŒáá« á¡áááºážá¡ááŒá
Ạáá±á¬áºáá»á°ážáá»á¬ážááᯠAnsible Network á¡ááœá²á·á០áááºáá®ážáá¬ážááŒá®áž Red Hat á០áá¶á·ááá¯ážáá±ážááá·áº ááááºáá±á¬ááºážáá»á¬ážááŸáá·áº ááá¯ááºáá®áááº-
á¡á±á¬ááºáá« áá±á¬áºáá»á°ážáá»á¬ážááᯠAnsible á¡ááá¯ááºážá¡ááá¯ááºážá០áááºáá®ážáá¬ážáá«áááºá
exos_lldp_global
- Extreme Networks ááŸnxos_bfd_interfaces
- Cisco ááŸnxos_telemetry
- Cisco ááŸ
áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºážá á¡áááºážá¡ááŒá Ạmodule áá»á¬ážáááá±á¬ááá¬ážááẠáá»áœááºá¯ááºááá¯á·á platform-centric strategy ááŸáá·áºááá¯ááºáá®áá«áááºá ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠááœááºááẠmodule áá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœáẠá á¶áááºááŸááºááŒááºážááᯠáá¶á·ááá¯ážáááºá¡ááœáẠAnsible ááá¯ááºááá¯ááºááœáẠááá¯á¡ááºáá±á¬ á áœááºážáááºáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá«áááºááŒá®áž Ansible á¡áááºážááá¹ááá»á¬ážááŸáá·áº áá á¬ážá á¬á¡á¯ááºáá»á¬ážá¡ááá·áºááŸá áá¯á¶ážá áœá²áá°áá»á¬ážá áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠááá¯ážááŸááºážá á±áááºáááºáž ááá·áºááœááºážáá¬ážáá«áááºá á¡áááºážá¡ááŒá Ạáá±á¬áºáá»á°ážáá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááᯠáá»á²á·ááœááºáááºá¡ááœáẠAnsible á¡ááœá²á·ááẠModule Builder tool ááᯠáá¯ááºááŒááºáá²á·áááºá
Ansible 2.10 ááŸáá·áºá¡áááºá¡ááœáẠá¡á á®á¡á ááºáá»á¬áž
Ansible 2.9 ááᯠáá¯ááºáá±ááŒá®ážáááºááŸáá·áºá áá»áœááºá¯ááºááá¯á·ááẠááœááºááẠtopology ááŸáá·áº áá°áá«áááᯠáááºáá¶áááºááŸááºáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº Ansible 2.10 á¡ááœáẠáá±á¬ááºááẠá¡áááºážá¡ááŒá
Ạmodules áá»á¬ážááᯠáá¯ááºáá±á¬ááºááœá¬ážáá«áááºá á¥ááá¬á
á¡áááºážá¡ááŒá áºáá»á¬ážááŸáá·áº á áááºááá°ááŒááºážá
source: www.habr.com