ERROR: apt не является правовым параметром Ansible Play

Я получаю следующую ошибку при попытке запустить файл YML: -

[email protected]:~$ ansible-playbook -i hostfile setup.yml

ОШИБКА:

apt не является допустимым параметром Ansible Play

Ansible версия: 1.9.2

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

Ответ 1

Ваш файл yml должен выглядеть примерно так:

---
- hosts: all
  become: yes
  tasks: 
  - name: Install packages
    apt:
      name:
      - mysql-server
      - libapache2-mod-auth-mysql
      - php5-mysql
      state: latest
      cache_valid_time: 3600    # update cache if more than an hour old

Ответ 2

Обычно это означает, что ваш yML файл вашей игры не соответствует синтаксису yml. Проверьте пробелы, дефис и т.д. Взгляните на существующие рабочие файлы yml, например, тот, который был вставлен smiller171 в приведенном выше ответе. У меня также была аналогичная ошибка, оказалось, что мой синтаксис неверен.

Ответ 3

Вы пытаетесь запустить файл 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