首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让ansible等待ssh连接

让ansible等待ssh连接
EN

Stack Overflow用户
提问于 2019-03-22 15:27:31
回答 2查看 1.8K关注 0票数 1

如何让ansible等待或重试ssh连接?我有一个ansible tsk,它运行govc将虚拟机上传到vcenter,但在那之后,我立即ssh到机器中运行如下命令:

代码语言:javascript
复制
  hosts: vcenter
  gather_facts: false
  tasks:
    - name: Download GOVC
      get_url:
        url: https://github.com/vmware/govmomi/releases/download/v0.20.0/govc_linux_amd64.gz
        dest: /home/gkeadmin/govc_linux_amd64.gz

但在我得到以下代码后立即执行:fatal: [139.178.66.91]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host 1.2.3.4 port 22: Operation timed out", "unreachable": true}

我再次使用--retry命令重新运行它,然后它继续运行。在我可以通过ssh...how连接之前,似乎只需要一段时间,我需要等待ssh连接在ansible中建立吗?

EN

回答 2

Stack Overflow用户

发布于 2019-03-22 15:49:01

ansible支持重试。希望这能对你有所帮助。

代码语言:javascript
复制
---
- name: test
  retries: 2
  hosts: <hosts_name>
  tasks:
    - name: task
      <module_name>:
票数 0
EN

Stack Overflow用户

发布于 2019-03-22 18:29:29

您可以在攻略顶部添加一个部分来等待它,例如

代码语言:javascript
复制
---
- name: wait for ssh
  tasks:
  - wait_for:
      port: 22
      host: '{{ inventory_hostname }}'
    delegate_to: localhost
- name: my playbook
  hosts: vcenter
  gather_facts: false
  tasks:
   - name: Download GOVC
  [ ... etc ... ]

https://docs.ansible.com/ansible/latest/modules/wait_for_module.html#examples

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55294752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档