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_reboot
在defaults/main.yml
中设置为True
- 在 playbook 中,您定义
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
依赖项
目前没有。
示例 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 ...