NVR510でAnsibleを試してみた
ヤマハRTXシリーズのAnsible対応はないものだと諦めていたのに、昨日突如リリースされた。
【技術情報】#ansible による #ヤマハ #ネットワーク機器 の運用自動化についてhttps://t.co/wiz7XnOaTA#gihyosd
— ヤマハのネットワーク製品 (@yamaha_sn) 2021年3月29日
さっそく、Windows10にWSLのUbuntu 20.04 LTSとAnsibleを入れてサンプルコードを試してみた。
--- - hosts: nvr510 connection: network_cli tasks: - name: get configuration yamaha_network.rtx.rtx_command: commands: show config register: result - name: debug debug: msg: "{{ result.stdout_lines[0] }}" - name: set description yamaha_network.rtx.rtx_config: lines: - description 1 yamaha vars: ansible_network_os: yamaha_network.rtx.rtx ansible_user: loginusername ansible_ssh_pass: sshloginpassword ansible_become: true ansible_become_password: administratorpassword
結果↓
バッチリ。Configにもちゃんとdescription 1 yamaha
と書き込まれている。Ansibleがヤマハでも使えるとなれば、ちゃんと何ができるか調べないといかんな。
作業メモ
Ansibleのインストール作業自体に手間取ったのと、ヤマハのWebで公開されているサンプルコードがそのままコピーするとインデントがyml的におかしくて動かないので少し苦労した。
ymlもAnsibleも詳しくないので、もしかしたら、上に掲載したコードもインデントが正しくない部分があるかも。
やったこと
以下のインストール作業と、ルータにsshログイン用ユーザを作ること、WSLのsshコマンドで1度ルータにアクセスしておくこと。
インストール作業では、ansible.netcommonとparamikoを直接インストールする必要があったが、これは私の手順が悪いのかもしれない。PythonやAnsible、そしてUbuntu自体を使い慣れていないので、以下のコマンド群で(実行順を含めて)正しいのかよくわからない。もっとスマートな方法がある気がする。
sudo apt update sudo apt upgrade sudo apt-get update sudo apt-get install software-properties-common sudo apt-add-repository ppa:ansible/ansible sudo apt-get update sudo apt-get install ansible ansible --version ansible-galaxy collection install yamaha_network.rtx ansible-galaxy collection install ansible.netcommon sudo apt-get install python3-pip pip3 install paramiko