前提条件
ciscoのios-xrに対してAnsibleで自動化する時に
階層構造に悩まれるエンジニアへの記事です。
ios-xrについて
ios-xrはJunosみたいな表示をすることが出来ます。
show run formatをうってみてください。
すると以下のように表示されると思います。
一部抜粋
interface GigabitEthernet0/1/0/27
interface GigabitEthernet0/1/0/27 shutdown
interface GigabitEthernet0/1/0/28
interface GigabitEthernet0/1/0/28 shutdown
interface GigabitEthernet0/1/0/29
interface GigabitEthernet0/1/0/29 shutdown
interface GigabitEthernet0/1/0/30 description test interface
interface GigabitEthernet0/1/0/30
interface GigabitEthernet0/1/0/30 ipv4 address 192.168.0.1 255.255.255.0
interface GigabitEthernet0/1/0/31
このようなコマンドでもconfigを入力することが出来ます。
つまり改装構造を気にしなくてもいいということですね。
Ansible-playbook
実際に簡単な物を作成すると以下のようなものが作れます。
以下はvrf書くとに使ったAnsibleです。
- hosts: ios show version
gather_facts: no
connection: local
tasks:
- name: configure
iosxr_config:
lines:
- vrf SHIMA
- vrf SHIMA address-family ipv4 unicast
- vrf SHIMA address-family ipv4 unicast import route-target
- vrf SHIMA address-family ipv4 unicast import route-target 9598:1
- vrf SHIMA address-family ipv4 unicast export route-target
- vrf SHIMA address-family ipv4 unicast export route-target 9598:1
最後に
ios-xrに新たな知見あればTwitter→@katu7414まで