【问题标题】:Ansible: Error! No action detected in taskAnsible:错误!任务中未检测到操作
【发布时间】:2016-06-05 18:57:59
【问题描述】:

我收到以下错误消息:

致命:[127.0.0.1]:失败! => {“失败”:真,“原因”:“错误!没有 在任务中检测到操作\n\n错误似乎已经出现在 '/etc/ansible/roles/user-manage/tasks/add-users.yml':第 8 行,列 4,但可能\n位于文件中的其他位置,具体取决于确切的语法 问题。\n\n违规行似乎是:\n\n\n - 名称:添加 多个用户\n ^ 这里\n"}

这是我抱怨的剧本:

 - name: Add new group if it doesn't exist already
   group:
    name: "{{ item }}"
   with_items:
    - "{{ group_add }}"
   when: group_add is defined

 - name: Add multiple users
   users:
    name: "{{ item.users_name }}"
    comment: "{{item.users_comment }}"
    uid: "{{ item.users_uid }}"
    group: "{{ item.users_group }}"
    groups: "{{ item.users_groups }}"
    shell: "{{ item.users_shell }}"
    state: "{{ item.users_state }}"
    append: yes
   with_items:
     - "{{ users_add }}"

 - name: Add SSH key for user
   authorized_key:
    user: "{{ item.name }}"
    key: "{{ lookup('file', '/etc/ansible/files/keys/{{ item.users_name }}.pub') }}"
   with_items:
    - "{{ users_add }}"

这只是昨晚工作。我不确定是什么原因造成的。有什么想法吗?

【问题讨论】:

  • 我会确保 users_add 包含您认为的项目。我会运行:- debug: var=item with_items: users_add 并确保你看到你所期望的

标签: python linux ansible ansible-playbook


【解决方案1】:

没有users 模块。正确的名称是user。删除s 即可。

【讨论】:

    【解决方案2】:

    我在剧本的第一行(也是名称行)遇到了同样的错误。事实证明,我使用的是旧版本的 Ansible,它与我的剧本中调用的一些新模块不兼容。一旦我将 Ansible 更新到最新版本,我的剧本就没有问题了。希望这对其他人有帮助。

    【讨论】:

    • 这似乎也支持@udondan 在下面的回答,此错误是由于 Ansible 无法识别模块(在上述情况下为用户)。
    猜你喜欢
    • 1970-01-01
    • 2017-05-06
    • 2020-05-03
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 1970-01-01
    相关资源
    最近更新 更多