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_reboot
はTrue
に設定されています。- プレイブックで、
os_update_reboot_default
をFalse
で定義します。 - インベントリで、ホストグループ
testing
に対してos_update_reboot
をTrue
に設定します。 こうすることで、ホストグループ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 ...