Назад | Перейти на главную страницу

Ansible выдает ошибку при выполнении некоторых пьес

Я использую Ansible 2.9.2 на Ubuntu Server 18.04 + Python 3.6.9. Вот простой проект на 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

Я получаю сообщение об ошибке:

dev@ops:~/code/build/ansible$ ansible-playbook -i aws_ec2.yml playbook.yml
/usr/lib/python3/dist-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.25.7) or chardet (3.0.4) doesn't match a supported version!
  RequestsDependencyWarning)
ERROR! unexpected parameter type in action: <class 'bool'>

The error appears to be in '/home/dev/code/build/ansible/roles/docker/tasks/main.yml': line 1, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Install Docker
  ^ here

Синтаксис файла YAML кажется правильным (я проверил это с помощью ряда различных валидаторов).

urllib3 (1.25.7) и chardet (3.0.4) находятся в последних версиях. Был бы признателен, если бы вы могли помочь.

Формат вашей роли неверен. Хотя учебник указывает целевые хосты и другой материал, роль это просто список задач. Вы получаете сообщение об ошибке, потому что отформатировали roles/docker/tasks/main.yml как сборник пьес. Вместо того:

- name: Install Docker
  gather_facts: No
  hosts: docker

  tasks:
    - name: Install yum utils
      yum:
        name: yum-utils
        state: latest
[...]

У вас должно быть:

- name: Install yum utils
  yum:
    name: yum-utils
    state: latest
[...]