Как запустить локальную команду на управляющем сервере Ansible, если на этом управляющем сервере не запущен демон S SH?
Если я запускаю следующую книгу воспроизведения:
- name: Test commands
hosts: localhost
connection: local
gather_facts: false
tasks:
- name: Test local action
local_action: command echo "hello world"
Я получаю следующую ошибку:
fatal: [localhost]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host localhost port 22: Connection refused", "unreachable": true}
Кажется, что local_action
совпадает с delegate_to: 127.0.0.1
, поэтому Ansible пытается s sh к местному хозяину. Однако на хосте локального контроллера не работает демон S SH (только на удаленных машинах).
Поэтому мой непосредственный вопрос - как запустить указанную команду c из Ansible, без Ansible сначала пытается S SH к localhost.
Важное дополнение, не в первоначальном вопросе:
Мои host_vars содержали следующую строку:
ansible_connection: ssh