ansible -m ping でエラーが出る


困ったこと

エラー内容は以下の通り

ansible -i inventory.ini test_az -m ping

18.191.154.81 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ssh: connect to host 18.191.154.81 port 22: Operation timed out",
"unreachable": true
}

→SSHできていないようだ

解決策

azureの秘密鍵の名前がid_rsaではなかったため認識されなかった。ファイル名を変更して解決

解決結果

104.41.164.9 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}

疑問点

AZURE環境へはPINGができないらしい(https://www.syuheiuda.com/?p=5050)
がansibleのpingモジュールは実行できている
→ansibleのpingモジュールは実際にはICMPではないらしい(https://docs.ansible.com/ansible/latest/modules/ping_module.html)
SSHしているだけ?
→ソースコードを見てみた(https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/system/ping.py)
→よくわからないがRETURNのような大文字の変数定義は何を意味する?ドキュメント生成ツール(sphinx)向け?
→ansibleでモジュールを作る際の規則のようだ

RETURN = '''
ping:
description: value provided with the data parameter
returned: success
type: str
sample: pong
'''