如何在Ansible重启CentOS 7?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (64)

我使用这个:

- name: Restart server
  command: /sbin/reboot
  async: 0
  poll: 0
  ignore_errors: true

服务器重新启动,但我得到这个错误:

TASK: [common | Restart server] ***********************************************
fatal: [rolcabox] => SSH Error: Shared connection to 127.0.0.1 closed.
It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue.

FATAL: all hosts have already failed -- aborting

提问于
用户回答回答于

切换/sbin/reboot/sbin/shutdown

- name: Restart server
  command: /sbin/shutdown -r +1
  async: 0
  poll: 0
  ignore_errors: true

这会延迟服务器重启1分钟,但是这样做应该给Ansible足够的时间来关闭SSH连接本身,从而避免当前正在获取的错误。

用户回答回答于

重新启动任务后,应该有一个local_action任务,等待远程主机完成重新启动,否则,ssh连接将终止,并且playbook也会终止。


- name: Reboot server
  command: /sbin/reboot

- name: Wait for the server to finish rebooting
  sudo: no
  local_action: wait_for host="{{ inventory_hostname }}" search_regex=OpenSSH port=22 timeout=300

扫码关注云+社区