Я унаследовал этот ansible git от своего предшественника. Я не могу заставить его работать, и я думаю, это что-то базовое, чего мне не хватает. Он продолжает давать мне эту прекрасную ошибку: ERROR! The tasks/main.yml file for role 'common' must contain a list of tasks
Затем Ansible указывает на самый первый символ первой строки моего файла common / tasks / main.yml (кстати, у меня есть переменные env, указывающие на правильный каталог Ansible и конфигурацию, не знаю, является ли это причиной)
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
сценарии / роли / общие / задачи / 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
Синтаксис ролей / common / tasks / main.yml в порядке. Можешь попробовать
# ansible-lint roles/common/tasks/main.yml
Протестируйте сценарий
# ansible-lint basic.yml
На всякий случай рекомендую убрать последовательность из трех точек «…» из названия задачи.
- name: Installing Samba and etc
apt:
Цитата из Основы YAML
Файлы YAML могут необязательно начинаться с --- и заканчиваться .... Это часть формата YAML и указывает начало и конец документа.