2015-08-19 4 views
10

Hallo, ich bin die folgende Fehlermeldung, wenn ich versuche eine yml Datei auszuführen: -ERROR: apt ist keine rechtlichen Parameter einer ansible Wiedergabe

ansible verion: 1.9.2

user @ ubuntuA: ~ $ ansible-Textbuch -i Hostfile setup.yml

ERROR: apt ist keine rechtliche Parameter einer Wiedergabe ansible

yml-Datei: -

--- 

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

Haben Sie noch andere Dateien? –

+0

Ist auch das mitgelieferte Yml die setup.yml? –

Antwort

13

Ihre yml Datei sollte wie folgt aussehen:

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

Aber eine bessere Art und Weise so sein würde:

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

Das zweite Beispiel ermöglicht es Ihnen, eine einzelne Aufgabe zu wiederholen, anstatt drei separate Aufgaben aufzulisten. – smiller171

+0

Derselbe Fehler beim Schreiben einer einfachen ansible-Rolle mit einigen Linux-Grundpaketen. Bitte helfen Sie mir –

+0

Ich kann Ihnen nicht viel helfen, ohne Ihren Code zu sehen. Für eine Rolle benötigen Sie ein Playbook mit einem "roles" -Abschnitt, der Ihre Rolle namentlich aufruft, und Sie benötigen ein "roles" -Verzeichnis mit einem Verzeichnis darunter, auf dessen Namen in Ihrem Playbook verwiesen wird. Darunter benötigen Sie ein Verzeichnis namens "tasks", und Ihre main.yml sollte ungefähr so ​​aussehen wie im Beispiel des OP – smiller171

0

Normalerweise bedeutet das, dass Ihr Textbuch yml Datei nicht mit yml nicht erfüllt Syntax. Überprüfen Sie, ob Leerzeichen, Bindestriche usw. vorhanden sind. Sehen Sie sich die vorhandenen Arbeits-XML-Dateien an, wie sie in der obigen Antwort von smiller171 eingefügt wurden. Ich hatte auch einen ähnlichen Fehler, stellte sich heraus, dass meine Syntax falsch war.

Verwandte Themen