Ansible - 服务器/应用程序发起的重启

Ansible - 服务器/应用程序发起的重启

我想使用 Ansible 升级远程服务器(基于 BSD unix)的软件。升级结束时,系统会自动重启(此重启不是由 Ansible 发起的)。我想确保 ansible 会等待服务器恢复,然后继续执行其他任务。脚本在升级时运行良好,但在重启时失败(抱怨 ssh 共享连接失败)。

脚本1:

- hosts: remote_server 
  remote_user: ansible
  become: yes
  become_method: sudo
  connection: ssh
  gather_facts: yes
  vars:
     ansible_ssh_host: 192.168.1.131
     ansible_ssh_port: 22 
  tasks:
  - name: Install SW version xxx
    ....
    ....

  - name: waiting for server to reboot
    wait_for: host="{{ ansible_ssh_host | default(inventory_hostname) }}" port={{ ansible_ssh_port | default(22) }} search_regex=OpenSSH delay=60 timeout=300 
    connection: local
    sudo: false  

  - shell: uptime
    register: output
  - debug: msg=" {{ output.stdout }} "

知道我这里遗漏了什么吗?谢谢...

答案1

因此,在重启期间,通常会失败。您可以使用这样的元任务来忽略失败

- meta: clear_host_errors

之后您可以使用 waitfor,然后继续任何任务。

- name: Wait for system to become reachable
  wait_for_connection:
    timeout: 300

相关内容