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: 稳定最新版本

  • Debain 应该可以使用,我只使用 LTS 发行版,这些发行版可以有服务级别协议(SLA)。

  • Mint 可以使用,但没有重点(个人需求)

角色变量

  • 关闭 gather_facts,因为我们需要先判断主机是否在线。 我们会多次执行此操作,以避免负载和连接问题。 请查看 tests 文件夹。

大多数变量都有 varname_default 对应项,用于在 playbook 级别覆盖默认值。 这样,您可以为所有没有定义变量的目标定义默认行为。例如:完整|安全补丁。

以下是一个示例:

  • 默认的 os_update_rebootdefaults/main.yml 中设置为 True
  • 在 playbook 中,您定义 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

依赖项

目前没有。

示例 Playbook

查看测试目录以获取示例

许可证

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 ...