我使用packer在AWS上创建图像。 当Packer运行此Ansible部分时:
- name: Wait for reboot to finish
local_action: wait_for host={{ ansible_host }} port=22 state=started
我在等待127.0.0.1:22"
时超时#34;超时为什么" ansible_host"设置为" 127.0.0.1"而不是配置主机的IP?
如何告诉Packer使用正确的" ansible_host"?
Packer version: 1.2.4
Ansible version: 2.5.4
答案 0 :(得分:2)
它动态创建配置为使用的Ansible清单文件 SSH,运行SSH服务器,执行ansible-playbook和marshals Ansible通过SSH服务器播放到正在配置的计算机 通过Packer。
这意味着ansible目标(ansible_host
)是本地主机,但具有不同的端口,然后转发到正确的主机。
基本上,在运行Packer时,您无法在Playbook中重新启动(或重新启动sshd),因为ssh会话将被断开连接。有关详细信息,请参阅Handeling Reboots - Shell Provisioner。