#Ansible#NEC IX2 min read

Ansible NEC IXコレクションを2年越しにアップデートしました。

NEC IXルーター向けコレクションにOSPFとStatic RouteのNetwork Resource Moduleを追加しました!

Ansible Galaxy

galaxy.ansible.com

今回のアップデートでは下記のモジュールの追加を行いました。

  • rucdev.ix.ix_ospfv2
  • rucdev.ix.ix_ospfv3
  • rucdev.ix.ix_ospf_interfaces
  • rucdev.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を見てください!

Ansible Galaxy

galaxy.ansible.com

Network Resource Moduleへの挑戦

今回のモジュール追加開発ではAnsibleのNetwork Resource Moduleの形での開発に挑戦しました。

Network Resource Modules

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 に感謝を
本当にありがとう!!