Ansible NEC IXコレクションを2年越しにアップデートしました。
NEC IXルーター向けコレクションにOSPFとStatic RouteのNetwork Resource Moduleを追加しました!
今回のアップデートでは下記のモジュールの追加を行いました。
rucdev.ix.ix_ospfv2rucdev.ix.ix_ospfv3rucdev.ix.ix_ospf_interfacesrucdev.ix.ix_static_routes
前回の更新は2023年2月なのでおよそ2年8か月振りの更新となります。 前回の更新
OSPFモジュールを使ってみる
ここでは私の担当分であるOSPF周りについて少し触れます。
今回のアップデートで追加したモジュールはすべてcisco.iosコレクションを参考にしています。
なので基本的には、Ciscoモジュールの書き方と合わせる形で作成しています。
簡単なOSPFの設定例
---
- name: Ix ospf setting
hosts: ix
gather_facts: false
tasks:
- name: OSPF setting
rucdev.ix.ix_ospfv2:
config:
processes:
- process_id: 1
areas:
- area_id: 0
network:
- address: 192.0.2.128/25
area: 0
今回は以前よりもドキュメント周りを頑張ったので詳しくはAnsible GalaxyのDocsを見てください!
Network Resource Moduleへの挑戦
今回のモジュール追加開発ではAnsibleのNetwork Resource Moduleの形での開発に挑戦しました。
Developing network resource modules
AnsibleのNetwork Resource Moduleには開発するためのボイラープレートを作成してくれるResource module builderというツールがあり、 基本的にこれを利用して開発を進めていきます。
しかし、道は険しくNetwork Resource Moduleそのものの理解やネットワークOS固有のパラメータやバリデーションを吸収するためにはかなり詳しいネットワークOSへの理解が必要となり、ここにかなりの時間を割くことになりました。
色々あって2年ほどの時間を要することとなりましたが、それでも他のNetwork Resource Moduleのレベルにも達することができなかったので世のNetwork Resource Moduleの開発者には頭が上がりません。
まとめ
かなり久々の更新となってしまいましたが、AnsibleのNEC IX向けコレクションを更新しました! 皆様、使ってみてください。至らぬ点は多いかと思いますがフィードバックを雑多に投げてください(投げ先⇒https://github.com/Rucdev/ix_ansible/issues)
そして一緒に開発を手伝ってくれた nakayumc0278 (nakayumc) · GitHub に感謝を
本当にありがとう!!