ОШИБКА: apt не является допустимым параметром Ansible Play
Я получаю следующую ошибку при попытке запустить файл YML:-
Ansible версия: 1.9.2
user @ ubuntuA: ~ $ ansible-playbook -i hostfile setup.yml
ОШИБКА: apt не является допустимым параметром Ansible Play
YML-файл:-
---
- name: Install MySQL server
apt: name=mysql-server state=latest
- name: Install Apache module for MySQL authentication
apt: name=libapache2-mod-auth-mysql state=latest
- name: Install MySQL module for PHP
apt: name=php5-mysql state=latest
3 ответа
Ваш файл yml должен выглядеть примерно так:
---
- hosts: all
sudo: yes
tasks:
- name: Install MySQL server
apt: name=mysql-server state=latest
- name: Install Apache module for MySQL authentication
apt: name=libapache2-mod-auth-mysql state=latest
- name: Install MySQL module for PHP
apt: name=php5-mysql state=latest
Но лучший способ был бы так:
---
- hosts: all
sudo: yes
tasks:
- name: install packages
apt: name={{item}} state=latest update_cache=yes
with_items:
- mysql-server
- libapache2-mod-auth-mysql
- php5-mysql
Вы пытаетесь запустить файл setup.yml напрямую с ansible-playbook. Как упомянул @smiler171 в своем ответе, правильный формат для этого следующий:
---
- hosts: all
tasks:
- name: Install MySQL server
apt: name=mysql-server state=latest
- name: Install Apache module for MySQL authentication
apt: name=libapache2-mod-auth-mysql state=latest
- name: Install MySQL module for PHP
apt: name=php5-mysql state=latest
Ваш текущий формат файла предназначен для импорта и включает. Это полезно, если вы хотите повторно использовать задачи из setup.yml где-то еще. В этом случае вы можете создать другой файл (скажем, playbook.yml), например:
---
- hosts: all
tasks:
- import_tasks: setup.yml
и запустить его:
ansible-playbook -i hostfile playbook.yml
Обычно это означает, что ваш yml-файл playbook не соответствует синтаксису yml. Проверьте наличие пробелов, дефисов и т. Д. Посмотрите на существующие рабочие yml-файлы, например, вставленный smiller171 в ответе выше. У меня тоже была похожая ошибка, оказалось, что мой синтаксис был неверным.