На линуксе я это делаю так
- name: CHECK SSH
hosts: localhost
gather_facts: no
tasks:
- name: Wait instances to be ready
shell: |
ssh -i {{ lookup('config', 'DEFAULT_PRIVATE_KEY_FILE') }} \
-o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no \
ansible@{{ hostvars[curr_host]['ansible_host'] }} hostname
loop: "{{ groups['all'] }}"
loop_control:
loop_var: curr_host
register: ssh_login_status
until: >-
ssh_login_status is succeeded
and ssh_login_status.stdout == hostvars[curr_host]['node_name']
retries: 10
delay: 15