Ansible 在执行某些剧本时给我一个错误

Jac*_*cek 1 ansible ansible-playbook

我在 Ubuntu Server 18.04 + Python 3.6.9 上使用 Ansible 2.9.2。这是一个简单的 Ansible 项目:https : //github.com/770715/ansible.git

如果我运行:

ansible-playbook -i aws_ec2.yml add-ssh-keys.yml

它工作得很好,但是当我尝试运行时:

ansible-playbook -i aws_ec2.yml playbook.yml
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

ansible-playbook -i aws_ec2.yml playbook.yml
Run Code Online (Sandbox Code Playgroud)

YAML 文件语法似乎是正确的(我已经使用许多不同的验证器进行了检查)。

urllib3 (1.25.7) 和 chardet (3.0.4) 是最新版本。如果您能提供帮助,我将不胜感激。

lar*_*sks 5

您的角色格式不正确。虽然剧本指定了目标主机和其他材料,但角色只是任务列表。您收到错误是因为您已roles/docker/tasks/main.yml像剧本一样格式化。代替:

- name: Install Docker
  gather_facts: No
  hosts: docker

  tasks:
    - name: Install yum utils
      yum:
        name: yum-utils
        state: latest
[...]
Run Code Online (Sandbox Code Playgroud)

你应该有:

- name: Install yum utils
  yum:
    name: yum-utils
    state: latest
[...]
Run Code Online (Sandbox Code Playgroud)