Salt を使用して Junos OS を実行するデバイスを管理する際の Junos 実行モジュールのエラーのトラブルシューティング
問題
形容
Junos OSを実行しているデバイスのプロキシミニオンプロセスを開始し、Saltマスター上のキーを受け入れると、Junosプロキシ(Salt用)はデバイスに接続しますが、Junos実行モジュールから関数を実行すると、エラーが返されます。例えば:
saltuser@salt-master:~$ sudo salt 'router1' test.ping
router1:
True
saltuser@salt-master:~$ sudo salt 'router1' junos.cli 'show version'
router1:
'junos' __virtual__ returned False: The junos or dependent module could not be loaded: junos-eznc or jxmlease or yamlordereddictloader or proxy could not be loaded.
原因
Junosプロキシミニオンサーバーには、Saltを使用してJunos OSを実行しているデバイスを管理するために、ジュニパーネットワークのJunos PyEZライブラリ(junos-eznc)と jxmlease Pythonモジュール、および yamlordereddictloader Pythonモジュールがサーバーにインストールされている必要があります。
解決
Junos PyEZと jxmlease および yamlordereddictloader Pythonモジュールを、Saltがインストールされているのと同じバージョンのPythonでJunosプロキシミニオンサーバーにインストールします。例えば:
saltuser@minion:~$ sudo pip3 install junos-eznc jxmlease yamlordereddictloader
依存関係がインストールされたら、プロキシ ミニオン サーバーでそのデバイスのプロキシ ミニオン プロセスを再起動し、Salt マスターで新しい Salt キーを受け入れます。