joe-speedboat.os_update

役割名

この役割は、Red Hat、Ubuntu、Alpineマシンに対してセキュリティまたはフルパッチを適用します。

できること:

  • セキュリティまたはフルパッチの適用
  • 古いカーネルバージョンのクリーンアップ
  • 再起動が必要な場合の検出と再起動(変数を参照)

私はAWX(v20.0.1)のみを使用しているため、最新のAnsibleバージョンでのみテストされています。

要件

インターネット接続と、マシンの適切なリポジトリ設定が必要です。

サポートされているオペレーティングシステム:

  • RHEL、CentOS、Rocky、Alma

    • バージョン:6-9
  • Ubuntu LTS:20.04、22.04

  • Alpine:stable-latest

  • Debianも動作するはずですが、私はLTSディストリビューションのみを使用しており、SLAがあります。

  • Mintも動作しますが、特にフォーカスはありません(個人的なニーズ)。

役割変数

  • gather_factsはオフになっています。最初にホストがオンラインかどうかを確認する必要があるためです。 これを何度も行い、負荷や接続の問題を回避します。 testsフォルダを参照してください。

ほとんどの変数には、デフォルトをプレイブックレベルで上書きするために使用されるvarname_default相当のものがあります。
これにより、変数がまったく定義されていないすべてのターゲットに対してデフォルトの動作を定義できます。例:フル|セキュリティパッチ適用。

例を挙げてみましょう:

  • defaults/main.ymlのデフォルトos_update_rebootTrueに設定されています。
  • プレイブックで、os_update_reboot_defaultFalseで定義します。
  • インベントリで、ホストグループtestingに対してos_update_rebootTrueに設定します。 こうすることで、ホストグループtestingを除くすべてのホストがパッチ適用後に再起動を避けます・・・さあ、賢いでしょ?

注意:varnameは常に強制され、varname_defaultは役割のデフォルト動作を上書きするだけです。

  • os_update_level: security
    os_update_level: [none|security|full]

  • os_update_reboot: true
    os_update_reboot: [true|false]

  • os_update_remove_old_kernel: true
    os_update_remove_old_kernel: [true|false]

  • os_update_keep_kernel_nr: 2

依存関係

今のところなし。

例プレイブック

例についてはテストディレクトリを確認してください。

ライセンス

GPLv3

プロジェクトについて

Security or full patching, cleanup old kernel versions, detect needed reboots and boot them. All that is controlled by defaults in clever way :-)

インストール
ansible-galaxy install joe-speedboat.os_update
ライセンス
gpl-3.0
ダウンロード
6.2k
所有者
I don't do Linux for 20 years because I love Unix or consoles. OpenSource is what I love and want to do. moving together ... that fascinates me ...