
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
sudo nano /etc/ansible/hosts
Отредактировал файл следующим образом:
[Веб-сервер] 192.168.27.1
[серверы] хост1 ansible_ssh_host: 192.168.27.1 Тогда
sudo mkdir /etc/ansible/group_vars
sudo nano /etc/ansible/group_vars/servers
Файл Yaml создается как:
---
ansible_ssh_user: root
Затем:
ansible -m ping all
и ошибка, с которой я столкнулся, выглядит так:
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
Помогите мне, пожалуйста, решить эту проблему.
решение1
Выглядит точно так же, какэтот
попробуйте зайти в файл и поискать неуместный пробел в этой строке. Первопричиной был начальный пробел в /usr/local/etc/ansible/hosts
файле, и решением было найти такие пробелы и удалить их. Ключевая часть сообщения на форуме приведена ниже.
Это вызвано комментариями с ведущими пробелами в
/usr/local/etc/ansible/hosts
файле inventory. Это новое поведение для этой версии Ansible!Так что если у вас есть привычка писать в файле hosts что-то вроде этого:
[web] # legacy servers webserver-[1:2].company.com
Измените это на:
[web] # legacy servers webserver-[1:2].company.com
или
[web] webserver-[1:2].company.com # legacy servers