amarao.reboot_if_needed_for_upgrade

再起動が必要な場合のアップグレード

このプレイブックはサーバーを再起動し、オンラインに戻るのを待ちます。
デフォルトでは、apt-getアップグレード操作(/var/run/reboot-required)の結果、再起動が必要な場合にのみ再起動します。

要件

サーバーはAnsibleマシンからIP経由で直接TCPでアクセスできる必要があります。

変更履歴

  • ポートが到達可能かどうかの事前確認を追加。確認をスキップするには 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をインスタンスから取得できない場合は、get-external-ip-via-dyndnsロールを確認してください。

変数:

  • ip_to_probe: 待つIPアドレス(デフォルトは ansible_default_ipv4.address)。これは適切な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
所有者