
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
sudo nano /etc/ansible/hosts
Die Datei wurde wie folgt bearbeitet:
[Webserver] 192.168.27.1
[Server] Host1 ansible_ssh_host: 192.168.27.1 Dann
sudo mkdir /etc/ansible/group_vars
sudo nano /etc/ansible/group_vars/servers
Die YAML-Datei wird wie folgt erstellt:
---
ansible_ssh_user: root
Dann:
ansible -m ping all
und der Fehler, der mir begegnet ist, ist folgender:
ERROR! Attempted to read "/etc/ansible/hosts" as YAML: Syntax Error while loading YAML.
The error appears to have been in '/etc/ansible/hosts': line 46, column 1, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
[Webserver]
192.168.27.1
^ here
Attempted to read "/etc/ansible/hosts" as ini file: /etc/ansible/hosts:50: Expected key=value host variable assignment, got: 192.168.27.1
Bitte helfen Sie mir, dieses Problem zu lösen.
Antwort1
Sieht genauso aus wieDas
Versuchen Sie, in die Datei zu gehen und in dieser Zeile nach einem falsch platzierten Leerzeichen zu suchen. Die Grundursache war ein führendes Leerzeichen in der /usr/local/etc/ansible/hosts
Datei und die Lösung bestand darin, nach solchen Leerzeichen zu suchen und sie zu entfernen. Der wichtigste Teil des Forumsbeitrags ist unten aufgeführt.
Dies wird durch Kommentare mit führenden Leerzeichen in der
/usr/local/etc/ansible/hosts
Inventardatei verursacht. Dies ist ein neues Verhalten für diese Ansible-Version!Wenn Sie es also gewohnt sind, etwa Folgendes in die Hosts-Datei zu schreiben:
[web] # legacy servers webserver-[1:2].company.com
Ändern Sie es in:
[web] # legacy servers webserver-[1:2].company.com
oder
[web] webserver-[1:2].company.com # legacy servers