Отлично! Я смог подключиться к своему хосту Windows после выполнения этих шагов.
Однако мне пришлось решить еще две проблемы, прежде чем я смог запустить ANSI Playbooks для обоих, WSL и хоста Windows:
1. Определите соединение для WSL
Хост Windows использует ansible_connection=winrm
, но для WSL требуется другое соединение, я установил ansible_connection=local
.
2. Избегайте переопределения переменной соединения
Переменная ansible_connection
имеет значение переопределена . Это потому, что имя переменной и имя хоста совпадают. Это означает, что вы можете запустить playbook для WSL или для хоста Windows, но не против обоих, так как им нужно другое соединение.
Чтобы исправить это, вы можете либо установить хеш-поведение , либо задать два разных имени хоста для localhost под своим WSL, /etc/hosts
. Я сделал второй:
127.0.0.1 wsl.local
127.0.0.1 windows.local
My /etc/ansible/hosts
:
[wsl]
wsl.local
[wsl:vars]
ansible_connection=local
[windows]
windows.local
[windows:vars]
ansible_port=5985
ansible_connection=winrm
ansible_winrm_transport=basic
ansible_user=<<ansible_user>>
ansible_password=<<ansible_password>>
Теперь я могу запустить ansible_playbook с задачами, выполняющимися как для моего хоста Windows, так и для моего WSL. Здесь для более подробной информации о конфигурации.