/etc/ansible/hostsに次の詳細があります。
[dev] 10.13.212.32
次のようにホストにpingを送信できます。
# ansible dev -m ping
出力:
[root@localhost ~]# ansible dev -m ping
10.13.212.32 | SUCCESS => {
"changed": false,
"ping": "pong"
*.yml ファイルの構文を確認するとき。
# ansible-playbook --syntax-check --list-tasks -i hosts ./nginx.yml
または
# ansible-playbook nginx.yml --check**
[WARNING]: Unable to parse /root/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
ERROR! Syntax Error while loading YAML.
did not find expected '-' indicator
エラーは "/root/nginx.yml": 3 行目の 1 列目にあるように見えますが、正確な構文の問題によっては、ファイルの他の場所にある可能性があります。
問題のある行は次のとおりです。
- name: install and start nginx
hosts: localhost
^ here
この問題を解決するのに役立ちます。
ベストアンサー1
エラーはファイルがないことです/root/hosts
!
ansible-playbook --syntax-check --list-tasks -i hosts ./nginx.yml
-i
スイッチ()を使用すると、ファイルの代わりにファイル(で実行されているため)--inventory-file
を指します。/root/hosts
root
root
$HOME
/etc/ansible/hosts
もう一度お試しください。
ansible-playbook --syntax-check --list-tasks -i /etc/ansible/hosts ./nginx.yml
そして、間違った構文とインデントが原因でスクリプトが失敗します。確認するこの例初心者向け。