Ansibleでroleを使おうとして"is not a legal parameter"エラーが出た時の対処法

ERROR: hosts is not a legal parameter in an Ansible task or handler
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

原因

roleのmain.ymlに、playbookで書くような内容をそのまま書いてしまってるのが原因です。

tasks/main.yml

---
- hosts: all
sudo: yes
tasks:
- name: install nano
yum: name=nano state=installed
- name: install git
yum: name=git state=installed

上記の場合だとhosts:sudo:などが余分です

tasks/main.ymlにタスクの中身だけを書きましょう

- name: install nano
yum: name=nano state=installed
- name: install git
yum: name=git state=installed

これで大丈夫なはずです。

カテゴリ: