エラー内容
junos モジュールを、netconf コネクションプラグインで利用する際、以下のエラー "name 'known_hosts_lookup' is not defined"
が発生することがあります。
$ ansible-playbook -i inventory.ini 01_show.yml PLAY [vmx] ********************************************************************************************************* TASK [show] ******************************************************************************************************** fatal: [vmx]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "msg": "name 'known_hosts_lookup' is not defined"} PLAY RECAP ******************************************************************************************************** vmx : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
- 動作確認環境
- Ansible 2.9.6
原因
少しわかりにくいですが、これは、初めて接続する相手にホストキーのチェックに失敗した場合に表示されます。
対策
大きく分けて以下の2つの対策があります。
- (1) 予め何かしらの手段で
known_hosts
に登録しておく - (2)
ansible.cfg
でホストキーのチェックを無効にする
[defaults] host_key_checking=no
セキュリティ、運用の事情に合わせてください。
参考: network_cli の場合
ちなみに、netconf
ではなく、network_cli
接続で同様の状況の場合は、以下のエラーになります。対策は同じです。
TASK [show] **************************************************************************************************************************** An exception occurred during task execution. To see the full traceback, use -vvv. The error was: The ssh-ed25519 key fingerprint is b'e5a(略)51a'. fatal: [vmx]: FAILED! => {"msg": "Unexpected failure during module execution.", "stdout": ""}