Проблема в том, что {{ otherhost.ipv4_address }}
недоступен в то время, когда вы его используете, поскольку ansible не собрал факты о otherhost
.
Вам доступно несколько вариантов:
- Соберите факты, прежде чем начать использовать данные, например
---
- hosts: all
gather_facts: true
# here you gather facts about otherhost
- hosts: localhost
tasks:
- debug: var=hostvars["otherhost"].ansible_all_ipv4_addresses
# and here you can access those facts about
Запустите playbook на удаленном хосте и передайте время локального хоста перед раздачей, например,
- hosts: otherhost
tasks:
- name: get localhost time
shell: date +'%Y/%m/%d +%H:%m:00'
become: false
register: local_date
- name: set the date on the server
shell: sudo date -s '{{ local_date.stdout_lines[0] }}'
Это позволяет использовать способ автоматического ответа s-101 * * на цель. коробка, и вам не нужно руководство ssh
.