У объекта 'соединение' нет атрибута 'ssh' в macOS?

Я пытаюсь запустить задачу в доступной книге, как показано ниже.

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

доступный 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) ]


person TechChain    schedule 01.02.2019    source источник
comment
Пожалуйста, сделайте нам одолжение и опубликуйте актуальную трассировку, поскольку сообщение об ошибке - это лишь верхушка айсберга. Кроме того, в будущем, пожалуйста, рассмотрите возможность разумного форматирования вашего вопроса, поскольку YAML очень заботится о пробелах.   -  person mdaniel    schedule 01.02.2019
comment
Пожалуйста, проверьте мой обновленный вопрос. Я добавил трассировку сейчас.   -  person TechChain    schedule 01.02.2019
comment
Также было бы вежливо указать, что вы уже заявили о проблеме, чтобы люди не крутили колеса: github.com/ansible/ansible/issues/51590 (а также попробуйте ansible.cfg изменение из комментариев)   -  person mdaniel    schedule 03.02.2019


Ответы (1)


Я решил проблему, выполнив шаги

Создал файл .ansible.cfg, используя содержимое этой ссылки, и поместил этот файл в свой домашний каталог, т.е.

/Users/username/.ansible.cfg

Я добавил в файл .ansible.cfg

[по умолчанию]

транспорт = ssh

Я добавил путь к .ansible.cfg в переменную среды ANSIBLE_CONFIG

Я экспортировал это как export ANSIBLE _CONFIG = $ HOME / .ansible.cfg в .bash_profile

после выполнения всех этих шагов я смог запустить playbook.

person TechChain    schedule 03.05.2019