2017-03-20 11 views
0

メインタスクに2つのサブタスクが必要ですが、何らかの理由で構文エラーが発生します。メインタスクの可能なサブタスク

--- 
- name: Create srv_admin user 
    user: name=srv_admin password="{{ admin_password }}" groups=wheel shell=/bin/bash 

そしてupdate_root.ymlに:

--- 
- name Update root password 
    user: name=root password="{{ root_password }}" 

その後、私は、私は以下のいるcreate_admin.ymlファイルで

playbooks/ 
     set_users.yml 
roles/ 
    users/ 
      tasks/ 
       main.yml 
       create_admin.yml 
       update_root.yml 
      vars/ 
       main.yml 

:私は次の構造を持っている私の/etc/ansibleディレクトリで

これらのタスクをmain.ymlに含めます:

--- 
- name: create user 
    hosts: servers 
    remote_user: root 
    roles: 
    - users 

しかし、私は明らかに間違って何かをやっている:

--- 
admin_password: SHA512HASH 
root_password: SHA512HAS 

今すぐplaybooks/set_users.ymlで一緒にそれをすべて持って来る:

--- 
- name: Modify users 
    tasks: 
    - include: update_root.yml 
    - include: create_admin.yml 

vars/main.ymlは私のパスワードが含まれています。私は脚本を実行すると、私は次のエラーを取得する:私は単に脚本で役割をインポートすることができるように

ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path. 

The error appears to have been in '/etc/ansible/roles/users/tasks/main.yml': line 2, column 3, but may 
be elsewhere in the file depending on the exact syntax problem. 

The offending line appears to be: 

--- 
- name: Modify users 
^here 

はどうすればtasks/main.ymlにこれら二つの「サブ」タスクを使用することができますか?

EDIT @Konstantinスヴォーロフの提案を実装した後:

The error appears to have been in '/etc/ansible/roles/users/tasks/update_root.yml': line 3, column 7, but may 
be elsewhere in the file depending on the exact syntax problem. 

The offending line appears to be: 

- name Update root password 
    user: name=root password="{{ root_password }}" 
    ^here 
We could be wrong, but this one looks like it might be an issue with 
missing quotes. Always quote template expression brackets when they 
start a value. For instance: 

    with_items: 
     - {{ foo }} 

Should be written as: 

    with_items: 
     - "{{ foo }}" 

答えて

3

tasks/main.ymlは、タスクのリスト、そうtasks:キーワードで不要でなければなりません:

--- 
- include: update_root.yml 
- include: create_admin.yml 

そしてkey=value構文を使用しないよう、それはいつか脚に射しますが、純粋なYAMLを使用してください:

- name: Update root password 
    user: 
    name: root 
    password: "{{ root_password }}" 
+0

これは役に立ちましたが、別のエラーが発生しました。上記のエラーをご覧ください。 – rhillhouse

+0

答えが更新されました。しかし、してください、親切な - 不安からエラーメッセージを読んでください。 –

+0

ありがとうございました!申し訳ありませんが、私はまだAnsibleにとって非常に新しく、このエラーを理解できませんでした。私はまだ構文を理解しようとしています。更新された答えにも構文エラーがありますが、 ' - name ... 'を' - name:...'に変更することで修正できます。 – rhillhouse

関連する問題