web-dev-qa-db-fra.com

ERREUR: apt n'est pas un paramètre légal d'un jeu Ansible

Le message d'erreur suivant s'affiche lorsque j'essaie d'exécuter un fichier YML: -

Version Ansible: 1.9.2

utilisateur @ ubuntuA: ~ $ ansible-playbook -i hostfile setup.yml

ERREUR: apt n'est pas un paramètre légal d'un jeu Ansible

fichier 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
11
Tanuj Kumar

Votre fichier yml devrait ressembler à ceci:

---
- 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

Mais un meilleur moyen serait comme ça:

---
- 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
14
MillerGeek

Vous essayez d'exécuter votre fichier setup.yml directement avec ansible-playbook. Comme @ smiler171 l'a mentionné dans sa réponse, le format correct pour cela est le suivant:

---
- 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

Votre format de fichier actuel est pour les importations et comprend . C'est utile si vous voulez réutiliser des tâches de setup.yml ailleurs. Dans ce cas, vous pouvez créer un autre fichier (disons playbook.yml) comme celui-ci:

---
- hosts: all
  tasks: 
  - import_tasks: setup.yml

et lancez-le:

ansible-playbook -i hostfile playbook.yml
0
Marat Safin

Habituellement, cela signifie que votre fichier yml playbook n'est pas conforme à la syntaxe yml. Vérifiez les espaces, les traits d'union, etc. Jetez un coup d'œil aux fichiers yml existants, comme celui que smiller171 a collé dans la réponse ci-dessus. J'ai aussi eu une erreur similaire, ma syntaxe était incorrecte.

0
Binita Bharati