Возможная ошибка: файл tasks/main.yml для роли "common" должен содержать список задач
Я унаследовал этот откровенный мерзавец от моего предшественника. Я не могу заставить это работать, хотя, и я предполагаю, что это что-то основное, что я скучаю. Это продолжает давать мне эту прекрасную ошибку: ERROR! The tasks/main.yml file for role 'common' must contain a list of tasks
Затем Ansible продолжает указывать на самый первый символ первой строки моего файла common/tasks/main.yml (кстати, у меня есть env vars, указывающий на правильный Ansible dir и config, не знаю, является ли это причиной)
ERROR! The tasks/main.yml file for role 'common' must contain a list of tasks
The error appears to have been in
'/root/git/Ansible/playbooks/roles/common/tasks/main.yml': line 1, column 1, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: Installing Samba and etc...
^ here
Состав:
+-Vault
+-playbooks/
--basic.yml
+-roles/
+-common/
+-handlers/main.yml
+-tasks/main.yml
+-templates/
--krb5.conf.jinja2
--realmd.conf.jinja2
--smb.conf.jinja2
--sssd.conf.jinja2
+-join/tasks/main.yml
+-prereq/tasks/main.yml
Я думаю, что важные файлы playbooks/basic.yml
а также playbooks/roles/common/tasks/main.yml
playbooks / basic.yml
- name: Install basic AD stuff
hosts: all
become: yes
become_user: root
gather_facts: no
vars_prompt:
- name: "ad_admin_name"
prompt: "username for AD join"
private: no
- name: "ad_admin_password"
prompt: "password for AD"
private: yes
confirm: yes
roles:
- prereq
- common
- join
#The End
playbooks / роли / общий / задачи / main.yml
---
- name: Installing Samba and etc...
apt:
name: "{{ packages }}"
state: present
vars:
packages:
- adcli
- libnss-sss
- libpam-sss
- libwbclient-sssd
- realmd
- sssd
- sssd-tools
- samba
- krb5-config
- krb5-user
- winbind
- libpam-winbind
- libnss-winbind
- cifs-utils
- name: "template krb5.conf"
template:
src: "krb5.conf.jinja2"
dest: "/etc/krb5.conf"
owner: "root"
group: "root"
mode: "0644"
backup: yes
- name: "template realmd.conf"
template:
src: "realmd.conf.jinja2"
dest: "/etc/realmd.conf"
owner: "root"
group: "root"
mode: "0644"
backup: yes
- name: "template sssd.conf"
template:
src: "sssd.conf.jinja2"
dest: "/etc/sssd/sssd.conf"
owner: "root"
group: "root"
mode: "0600"
backup: yes
notify: "sssd needs restart"
- name: "template smb.conf"
template:
src: "smb.conf.jinja2"
dest: "/etc/samba/smb.conf"
owner: "root"
group: "root"
mode: "0644"
backup: yes
1 ответ
Синтаксис ролей / общих / заданий /main.yml в порядке. Ты можешь попробовать
# ansible-lint roles/common/tasks/main.yml
Протестируйте пьесу
# ansible-lint basic.yml
Чтобы быть уверенным, я бы порекомендовал убрать последовательность из 3-х точек "..." из названия задачи.
- name: Installing Samba and etc
apt:
Цитирование из основ YAML
Файлы YAML могут необязательно начинаться с --- и заканчиваться на.... Это часть формата YAML и указывает начало и конец документа.