У объекта 'Connection' нет атрибута 'ssh', доступного в macOS?
Я пытаюсь запустить задачу в ANSIBLE Playbook, как показано ниже.
- name: Add user to a group
user:
name: "{{ansible_user}}"
groups: docker
append: yes
become: yes
when: node_type == "peer"
Я использую macOS и уже установил ansible и sshpass. Я могу запустить другую задачу через ansible на удаленной машине Linux, но при запуске этой групповой задачи я получаю сообщение об ошибке, как 'Connection' object has no attribute 'ssh' ansible
,
Пожалуйста, направьте меня, в чем может быть проблема?
РЕДАКТИРОВАТЬ: проследить за проблемой
ERROR! Unexpected Exception, this is probably a bug: 'Connection' object has no attribute 'ssh'
the full traceback was:
Traceback (most recent call last):
File "/usr/local/bin/ansible-playbook", line 118, in <module>
exit_code = cli.run()
File "/Library/Python/2.7/site-packages/ansible/cli/playbook.py", line 122, in run
results = pbex.run()
File "/Library/Python/2.7/site-packages/ansible/executor/playbook_executor.py", line 156, in run
result = self._tqm.run(play=play)
File "/Library/Python/2.7/site-packages/ansible/executor/task_queue_manager.py", line 291, in run
play_return = strategy.run(iterator, play_context)
File "/Library/Python/2.7/site-packages/ansible/plugins/strategy/linear.py", line 267, in run
results.extend(self._execute_meta(task, play_context, iterator, host))
File "/Library/Python/2.7/site-packages/ansible/plugins/strategy/__init__.py", line 1098, in _execute_meta
connection.reset()
File "/Library/Python/2.7/site-packages/ansible/plugins/connection/paramiko_ssh.py", line 539, in reset
self.close()
File "/Library/Python/2.7/site-packages/ansible/plugins/connection/paramiko_ssh.py", line 606, in close
self.ssh.close()
AttributeError: 'Connection' object has no attribute 'ssh'
РЕДАКТИРОВАТЬ:
Меня попросили проверить ansible.cfg
файл. Но я не могу найти этот файл на Mac.
Ниже приведены журналы, когда я использую ansible --version
команда
ANSIBLE 2.7.6
config file = None
настроенный путь поиска модулей = [u'/Users/dhiraj/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] местоположение модуля ansible python = /Library/Python/2.7/site-packages/ansible местоположение исполняемого файла = /usr/local/bin/ansible python version = 2.7.10 (по умолчанию, 15 июля 2017, 17:16:57) [GCC 4.2.1 Совместимость Apple LLVM 9.0.0 (clang-900.0.31)]
0 ответов
Я решил проблему, делая шаги
Создал файл.ansible.cfg, используя содержимое этой ссылки, и поместил этот файл в мой домашний каталог, т.е.
/Users/username/.ansible.cfg
Я добавил в.ansible.cfg файл
[по умолчанию]
транспорт = SSH
Я добавил путь.ansible.cfg в переменную окружения ANSIBLE_CONFIG
Я экспортировал это как экспорт ANSIBLE _CONFIG=$HOME/.ansible.cfg в.bash_profile
выполнив все эти шаги, я смог запустить playbook.