ОШИБКА: 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 в ответе выше. У меня тоже была похожая ошибка, оказалось, что мой синтаксис был неверным.

Другие вопросы по тегам