Π ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Red Hat Ansible Engine 2.9 Π²Π°Ρ ΠΆΠ΄ΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΠΌΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Ansible Network Π² ΠΎΡΠΊΡΡΡΡΡ, ΠΏΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°. ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ β Π·Π°Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π°
ΠΠ°ΠΊ ΠΌΡ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ,
- Arista EOS
- Cisco IOS
- Cisco IOS XR
- Cisco NX-OS
- Juniper Junos
- VyOS
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Red Hat ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ Ansible Automation,
Π§Π΅ΠΌΡ ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΠ΅ Π³ΠΎΠ΄Π° ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ·Π½Π°Π»ΠΈ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠΈ. ΠΡΠ΅ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠ°Ρ ΠΈ ΡΠΎΠ»ΡΡ Ansible ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π Π²ΠΎΡ ΡΡΠΎ ΠΌΡ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ:
- ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, Π° ΠΌΠ½ΠΎΠ³ΠΈΡ Π²Π΅Π½Π΄ΠΎΡΠΎΠ².
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ β ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅, Π½ΠΎ Π΅ΡΠ΅ ΠΈ ΠΊΡΠ»ΡΡΡΡΠ½ΠΎΠ΅.
- ΠΠ°ΡΡΡΠ°Π±Π½Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΠΈΠ·-Π·Π° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ Π½Π°ΡΠΈ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΡΠ΅ ΠΏΠ»Π°Π½Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄, Π½Π°ΡΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ:
- Π‘Π±ΠΎΡ ΡΠ°ΠΊΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ Π»ΡΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ Ansible ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ Π²ΡΠΎΡΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΡΠΈΠΊΠ»Π° ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠ° ΡΠ°ΠΊΡΠΎΠ².
- ΠΡΠΆΠ½Ρ ΡΡΡΠΎΠ³ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ° ΡΡΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΡΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π£Π»ΡΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΠ²
Π‘Π±ΠΎΡ ΡΠ°ΠΊΡΠΎΠ² Ρ ΡΠ΅ΡΠ΅Π²ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ansible Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π½Π°ΡΠ³Π°Π΄. Π‘Π΅ΡΠ΅Π²ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² ΡΠ°Π·Π½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΎΡΠ½Π°ΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ±ΠΎΡΠ° ΡΠ°ΠΊΡΠΎΠ², Π½ΠΎ Ρ Π½ΠΈΡ
ΠΏΠΎΡΡΠΈ Π½Π΅Ρ β ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅Ρ β ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π° ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π² ΠΏΠ°ΡΠ°Ρ
ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π§ΠΈΡΠ°ΠΉΡΠ΅
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π°Π΄ ΡΠΎΠ»ΡΡ Ansible Network Engine. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, 24 ΡΡΡΡΡΠΈ Π·Π°Π³ΡΡΠ·ΠΎΠΊ ΡΠΏΡΡΡΡ ΡΠΎΠ»Ρ Network Engine Π±ΡΡΡΡΠΎ ΡΡΠ°Π»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΎΠ»Π΅ΠΉ Ansible Π² Ansible Galaxy Π΄Π»Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠΈ. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π² Ansible 2.8, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π² Ansible 2.9, ΡΡΠ° ΡΠΎΠ»Ρ Ansible ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ Π² ΠΏΠ°ΡΡΠΈΠ½Π³Π΅ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈ ΡΠ±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Network Engine, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ±ΠΎΡΠ°, ΠΏΠ°ΡΡΠΈΠ½Π³Π° ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
ΡΠ°ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Ansible. ΠΠΈΠ½ΡΡ ΡΡΠΎΠΉ ΡΠΎΠ»ΠΈ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅Π»ΡΡ ΠΊΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π΄Π»Ρ Π²ΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠ°ΡΡΠ΅ΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π°
Π Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ , Π΄Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±Π½ΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ°ΠΊΡΡ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Π½Π΄ΠΎΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΠΊΡΠΎΠ² ΡΠ΅ΡΠΈ Π² Ansible 2.9 ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ β Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠΎΠ»Π΅ΠΉ Ansible ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ ΠΏΠ°ΡΡΠ΅ΡΠΎΠ².
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Ansible 2.9 ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΠΊΡΠΎΠ² ΡΠ»ΡΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Π’ΠΎ Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠ°ΠΊΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΌΠΏΠ΅, ΠΈ Ρ Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠ±ΠΎΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΡΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° gather_network_resources
. ΠΠΌΠ΅Π½Π° ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΈ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠ° ΡΠ°ΠΊΡΠΎΠ²:
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° gather_facts
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠ°, Π° ΠΏΠΎΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠ°. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- hosts: arista
module_defaults:
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
gather_facts: True
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π² ΡΡΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β gather_facts: true
ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡΠ° ΡΠ°ΠΊΡΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ°ΠΊΡΠΎΠ² Π½Π°ΠΏΡΡΠΌΡΡ:
- 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 ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΅Π΅ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠ°Ρ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π€Π°ΠΊΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Ρ
ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ansible ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π·Ρ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΌ ΠΊΠ°ΠΊ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΡΡΡΠ° eos_interfaces
Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ²
ΠΡΠ°ΠΊ, ΠΌΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ»ΠΈ ΡΠ°ΠΊΡΡ, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π°Π½Π½ΡΠ΅, Π²ΠΏΠΈΡΠ°Π»ΠΈ ΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡ Π΅ΠΌΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΡΡΠΈΠ½Ρ. Π£ΡΠ°! ΠΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π½ΠΎ Π½Π°ΠΌ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ ΡΡΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΡΠ±ΠΎΡΠ° ΡΠ°ΠΊΡΠΎΠ² ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΡΡΡΠ°? Π Π°Π·Π΄Π΅Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅ ΠΊΠ°ΠΊ ΡΠ΅ΡΡΡΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΡΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ. ΠΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ, ΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΊΠΈΡΠΏΠΈΡΠΈΠΊΠΈ, Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΡΡΡΠ° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΏΡΠΎΡΠ°ΡΡΡΡ, Π²Π΅Π΄Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΡΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΡΡΡΠ°, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ΄Π΅ΠΌΠΏΠΎΠ΄Π΅Π½ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΡΡ
ΡΠ°ΠΊΡΠΎΠ² ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ 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
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π½Π°ΠΏΡΡΠΌΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² Π±Π΅Π· ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΠ»Π΅ΠΉΠ±ΡΠΊ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΈΡ Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌΠΈ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ (ΡΠΎ Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ) ΠΈ Π²ΡΠ΄Π°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ Π»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
ΠΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ β ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°ΠΊΡΡ Π² Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ansible ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΡΠ΅ΡΡΡΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²ΡΡΡΠ½ΡΡ, Ρ ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Ansible Automation.
Π§Π΅ΠΌ Π½ΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΡΡΡΡΠ° ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ?
ΠΠ»Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ° ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅ΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ 3 Π³Π»Π°Π²Π½ΡΡ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΡΡΡΠ° Π² Ansible 2.9 ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ.
1) ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅ ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ) ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΡΠ°ΠΊΡΡ Π±ΡΠ΄ΡΡ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΡ Π΄ΡΠΌΠ°Π΅ΠΌ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Ansible ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠ° Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΅Π΅ Π²Π΅Π·Π΄Π΅. ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅ΠΉ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅ΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, LLDP) Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ.
2) ΠΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
merged
: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π° Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ);replaced
: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠ° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ;overridden
: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠ° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ; Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ;deleted
: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π°/Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
3) ΠΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΡΡΡΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° Π²Π½Π΅Ρ (ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ») Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ ΠΆΠ΅ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π΅ΠΉΠ±ΡΠΊ.
before
: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄ΠΎ Π·Π°Π΄Π°ΡΠΈ;after
: Π΅ΡΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ), ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π° Π² Π²ΠΈΠ΄Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ;commands
: Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
Π§ΡΠΎ Π²ΡΠ΅ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ? ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ?
Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, Π½ΠΎ ΠΌΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Π²Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΡΠΎΡΡΡ ΠΎ ΡΠ±ΠΎΡΠ΅ ΡΠ°ΠΊΡΠΎΠ², Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎ ΠΏΠΎΡΠ΅ΠΌΡ ΠΈΠΌ Π½ΡΠΆΠ½Ρ ΡΡΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ? Π‘Π΅ΠΉΡΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΠ’-ΡΡΠ΅Π΄Ρ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌΠΈ. Π₯ΠΎΡΠΎΡΠΎ ΡΡΠΎ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ ΠΎ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ β ΠΈΠ· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎ Π²Π΅Π»Π΅Π½ΠΈΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·ΡΠΎΠ·Π½Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π°. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Red Hat Ansible Automation Platform ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠΎΠ³ΠΈΠ΅ ΠΈ Π½ΠΎΡΠΌΠΈΡΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π’ΠΎ Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ Π°ΠΊΡΠ΅Π½ΡΠΎΠΌ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, IP-Π°Π΄ΡΠ΅ΡΠ°, VLAN, LLDP ΠΈ Ρ Π΄.), Π° Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π΅Π½Π΄ΠΎΡΠ°.
ΠΠ½Π°ΡΠΈΡ Π»ΠΈ ΡΡΠΎ, ΡΡΠΎ Π΄Π½ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΎΡΡΠ΅Π½Ρ? ΠΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠΆΠΈΠ΄Π°Π΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΈ Π½Π΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π½Π΄ΠΎΡΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΅ΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ. Π¦Π΅Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΡΡΡΠΎΠ² β ΡΠΏΡΠΎΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ Jinja ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ JSON. Π‘ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ΅ΡΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΡΡΠΈΠ½Ρ. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΎΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ΅ΡΠΈ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ»Π°Π½ ΠΏΡΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ Β«ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΠΊ ΠΊΠΎΠ΄Β».
ΠΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎΡΠ²ΡΡΡΡ Π² Ansible Engine 2.9?
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π² Ansible 2.9, Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ Π²Π΅ΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡ.
ΠΡ Π²ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ 7 ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½Π°Π·Π½Π°ΡΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΠ΅ΡΡΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΆΠΈΡΠ½ΡΠΌ, Π±ΡΠ»ΠΈ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² Ansible 2.9.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ·ΡΠ²ΠΎΠ² ΠΎΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π·Π°Π½ΡΡΡΡΡ ΡΠ΅ΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ΅ΡΠΈ, Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ansible Network ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Red Hat:
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ Ansible:
exos_lldp_global
β ΠΎΡ Extreme Networks.nxos_bfd_interfaces
β ΠΎΡ Cisconxos_telemetry
β ΠΎΡ Cisco
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΡΡΡΠΎΠ² Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π½Π°ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ°ΠΌ Ansible, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, Π° Π΅ΡΠ΅ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΎΠ»Π΅ΠΉ ΠΈ ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠΎΠ² Ansible. Π§ΡΠΎΠ±Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊΠΎΠΌΠ°Π½Π΄Π° Ansible Π²ΡΠΏΡΡΡΠΈΠ»Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Module Builder.
ΠΠ»Π°Π½Ρ Π½Π° Ansible 2.10 ΠΈ Π΄Π°Π»ΡΡΠ΅
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΡΡΠΊΠ° Ansible 2.9 ΠΌΡ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ Ansible 2.10, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΡΠ΅ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
Π Π΅ΡΡΡΡΡ ΠΈ Π½Π°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com