てくなべ (tekunabe)

ansible / network / automation

[Ansible] 変数 ansible_network_os に指定できる値 (eos/ios/nxos/junosなど)

変数 ansible_network_os とは

Ansible のネットワークモジュールでは、多くの場合ansible_network_os という変数に、どのプラットフォーム(Cisco IOS、Arista EOS など)を対象とするか指定する必要あります。

サンプルの Playbook でも見かけることは多いのではないでしょうか。

指定できる値

具体的にどのプラットフォームを対象とするときに、どのような値をしていすればよいかは、公式ドキュメントのSettings by Platform にまとまっています。

Network OS ansible_network_os
Arista EOS eos
Cisco ASA asa
Cisco IOS ios
Cisco IOS XR iosxr
Cisco NX-OS nxos
Dell OS6 dellos6
Dell OS9 dellos9
Dell OS10 dellos10
Extreme EXOS exos
Extreme IronWare ironware
Extreme NOS nos
Extreme SLX-OS slxos
Extreme VOSS voss
F5 BIG-IP (不要)
F5 BIG-IQ (不要)
Junos OS junos
Lenovo CNOS cnos
Lenovo ENOS enos
MikroTik RouterOS routeros
Nokia SR OS sros
Pluribus Netvisor netvisor
VyOS vyos

※ Ansible 2.8 現在の Settings by Platform から

具体例

以下は、変数定義ファイルで ios を指定する例です。

---
ansible_connection: network_cli
ansible_network_os: ios             # ここ
ansible_user: dummyuser
ansible_password: dummypassword

各プラットフォームごとに必要な変数については、Platform Options を参照してください。