amarao.reboot_if_needed_for_upgrade

重启(如有需要升级)

此剧本重启服务器并等待它重新上线。默认情况下,只有在因为 apt-get 升级操作而需要重启时(/var/run/reboot-required),才会执行重启。

要求

服务器应该能够通过它的 IP 地址直接从 ansible 机器访问。

更新日志

  • 添加了预检功能,以检查端口是否可达。使用 skip_pre_reboot_check=true 跳过此检查。
  • 重新设计以解决一些棘手的 SSH 错误:Failed to connect to the host via ssh: Shared connection to 192.168.0.2 closed.,现在使用 ansible_default_ipv4.address

角色变量

角色检查探测端口是否可达,如果请求重启(通过 apt 或任何设置重启标记的人),则重启服务器,并在端口再次可用之前等待。

这仅在您可以直接访问该服务器时有效。通常使用 ansible_default_ipv4.address 来检查服务器是否在线。如果您在获取实例的外部(白)IP 时遇到问题,请查看通过 dyndns 获取外部 IP 的角色。

变量:

  • ip_to_probe: 等待的 IP 地址(默认为 ansible_default_ipv4.address,由 setup 模块收集)。必须是有效的 IP 或域名,不能使用 ssh_config 中的名称。
  • port_to_probe: 要探测的端口(默认为 22,即 SSH)
  • delay_before_probe: 重启命令后的延迟(默认为 10 秒)
  • probe_timeout: 最大等待时间(如果 ip_to_probe:port_to_probeprobe_timeout 时间内没有回复,角色将失败。默认为 70 秒)
  • force_reboot: 无论 /var/run/reboot-required 是否存在都重启(默认:False)
  • reboot_delay: 发出重启命令前的延迟(默认:2 秒),以帮助 SSH 处理命令
  • reboot_flag: 重启标记的路径
  • skip_pre_reboot_check: 跳过预重启端口检查。通常,如果在进行任何重启之前无法到达端口,剧本将停止。
  • pre_reboot_timeout: 在预重启检查中等待端口的时间

示例剧本

简单:

- hosts: servers
  vars:
    probe_timeout: 360
  roles:
     - amarao.reboot_if_needed_for_upgrade

复杂:

- hosts: servers
  vars:
    port_to_probe: 2222
    ip_to_probe: "{{ ansible_ssh_host }}"
    delay_before_probe: 120
    probe_timeout: 360
    force_reboot: True
    skip_pre_reboot_check: true
  role:
    - amarao.reboot_if_needed_for_upgrade

许可证

BSD

作者信息

(C)2016-2019,servers.com,作者:George Shuklin

关于项目

Reboots if reboot is pending after apt-get upgrade (dist-upgrade) and waits until host returns back online.

安装
ansible-galaxy install amarao.reboot_if_needed_for_upgrade
许可证
Unknown
下载
195
拥有者