5.12. Red Hat Enterprise Linux 系统角色
如果 IPv6 被禁用了,则 Networking 系统角色不再无法设置 DNS 搜索域
在以前的版本中,如果禁用了 IPv6 协议,libnm
库的 nm_connection_verify()
函数不会忽略 DNS 搜索域。因此,当您使用 Networking RHEL 系统角色并设置 dns_search
和 ipv6_disabled: true
时,系统角色失败并显示以下错误:
nm-connection-error-quark: ipv6.dns-search: this property is not allowed for 'method=ignore' (7)
有了这个更新,如果禁用了 IPv6,nm_connection_verify()
函数会忽略 DNS 搜索域。因此,您可以按预期使用 dns_search
,即使禁用了 IPv6。
Postfix
角色 README 不再使用普通角色名称
在以前的版本中,/usr/share/ansible/roles/rhel-system-roles.postfix/README.md
中提供的示例使用了角色名称的普通版本(postfix
),而不是使用 rhel-system-roles.postfix
。因此,用户会因为参考了文档而错误地使用普通角色名称而不是完全限定域名(FQRN)。在这个版本中解决了这个问题,文档包含了 FQRN、rhel-system-roles.postfix
的示例,让用户能够正确地写入 playbook。
Postfix RHEL 系统角色 README.md 不再在"Role Variables"部分下缺失变量
在以前的版本中,Postfix RHEL 系统角色变量(如 postfix_check
,postfix_backup
,postfix_backup_multiple
)在"Role Variables"部分中不可用。因此,用户无法查阅 Postfix 角色文档。在这个版本中,在 Postfix README 部分中添加了角色变量文档。角色变量记录在 rhel-system-roles
提供的 doc/usr/share/doc/rhel-system-roles/postfix/README.md
文档中。
运行相同输出时角色任务不再改变
在以前的版本中,在再次运行同一输入时,一些角色任务会报告为 CHANGED
,即使没有更改也是如此。因此,该角色并不具有幂等性。要解决这个问题,请执行以下操作:
-
在应用配置变量前检查配置变量是否有所变化。您可以使用
--check
选项进行此验证。 -
不要向配置文件中添加
Last Modified: $date
标头。
因此,角色任务是幂等的。
logging_purge_confs
选项可以正确地删除不必要的配置文件
将 logging_purge_confs
选项设为 true
时,它应删除不必要的日志记录配置文件。但是,即使 logging_purge_confs
被设置为 true
,也不会从配置目录中删除不必要的配置文件。现在,这个问题已被解决,选项已被重新定义:如果 logging_purge_confs
设为 true
,Rsyslog 从没有属于任何 rpm 软件包的 rsyslog.d
目录中删除文件。这包括之前运行日志记录角色的配置文件。logging_purge_confs
的默认值为 false
。
使用 Metrics 角色的 playbook 可以在多个运行中成功完成,即使 Grafana admin
密码已更改
在以前的版本中,在使用 metrics_graph_service: yes
布尔值运行 Metrics 角色后更改 Grafana admin
用户密码会导致 Metrics 角色后续运行失败。这会导致使用 Metrics 角色失败 playbook,受影响的系统只部分设置性能分析。现在,Metrics 角色会在 Grafana deployment
API 可用时使用,不再需要了解用户名或密码来执行必要的配置操作。因此,使用 Metrics 角色的 playbook 会在多个运行中成功完成,即使管理员更改了 Grafana admin
密码。
现在,Metrics 角色配置会正确跟随符号链接
安装 mssql pcp
软件包后,mssql.conf
文件位于 /etc/pcp/mssql/
中,是符号链接 /var/lib/pcp/pmdas/mssql/mssql.conf
的目标。但是,Metrics 角色覆盖符号链接,而不是按照其配置 mssql.conf
。因此,运行 Metrics 角色会更改到常规文件的符号链接,因此配置仅影响 /var/lib/pcp/pmdas/mssql.conf
文件。这会导致符号链接失败,主配置文件 /etc/pcp/mssql.conf
不受配置的影响。这个问题现已解决,在 Metrics 角色中添加了 follow: yes
选项来跟踪链接。因此,Metrics 角色会保留符号链接并正确配置主配置文件。
timesync
角色不再无法找到请求的服务 ptp4l
在以前的版本中,在一些 RHEL 版本中,Ansible service_facts
模块报告服务事实错误。因此,timesync
角色会报告一个错误,试图停止 ptp4l
服务。在这个版本中,Ansible service_facts
模块检查任务的返回值,以停止 timesync
服务。如果返回的值为 failed
,但错误消息是 Could not find the requested service NAME:
,则模块会假定成功。现在,timesync
角色会在没有任何错误的情况下运行,如 Could not find the requested service ptp4l
。
(BZ#2058645)
kernel_settings
configobj
在受管主机上可用
在以前的版本中,kernel_settings
角色没有在受管主机上安装 python3-configobj
软件包。因此,角色会返回一个错误,表示无法找到 configobj
Python 模块。在这个版本中,角色可确保受管主机上存在 python3-configobj
软件包,kernel_settings
角色可以正常工作。
Terminal Session Recording 角色 tlog-rec-session
现在被 SSSD 正确覆盖
在以前的版本中,Terminal Session Recording RHEL 系统角色依赖系统安全服务守护进程(SSSD)文件提供者和启用的 authselect
选项 with-files-domain
,来在 nsswitch.conf
文件中设置正确的 passwd
条目。在 RHEL 9.0 中,SSSD 默认不会隐式启用文件供应商,因此 SSSD 的 tlog-rec-session
shell 覆盖无法正常工作。在这个版本中,Terminal Session Recording 角色更新 nsswitch.conf
以确保 SSSD 正确覆盖 tlog-rec-session
。
SSHD 系统角色可以在 FIPS 模式下管理系统
在以前的版本中,SSHD 系统角色在调用时无法创建 not allowed
的 HostKey 类型。因此,SSHD 系统角色无法在联邦信息处理标准(FIPS)模式下管理 RHEL 8 和旧的系统。有了此更新,SSHD 系统角色检测 FIPS 模式,并正确调整默认的 HostKey 列表。因此,系统角色可以使用默认的 HostKey 配置在 FIPS 模式中管理 RHEL 系统。
SSHD 系统角色使用正确的模板文件
在以前的版本中,SSHD 系统角色使用错误的模板文件。因此,生成的 sshd_config
文件不包含 ansible_managed
注释。在这个版本中,系统角色使用正确的模板文件,sshd_config
包含正确的 ansible_managed
注释。
Kdump RHEL 系统角色可以重启导,或者表示需要重启
在以前的版本中,Kdump RHEL 系统角色忽略没有为崩溃内核保留内存的受管节点。因此,角色使用 "Success" 状态完成,即使它没有正确配置系统。在 RHEL 9 的这个版本中,这个问题已被解决。如果受管节点没有为崩溃内核保留任何内存,则 Kdump RHEL 系统角色失败,建议用户将 kdump_reboot_ok
变量设置为 true
,以便在受管节点上正确配置 kdump
服务。
Networking 系统角色中的 nm
提供者现在可以正确地管理网桥
在以前的版本中,如果您使用 initscripts
提供者,则 Networking 系统角色会创建一个 ifcfg
文件,该文件配置了 NetworkManager ,来将网桥接口标记为 unmanaged。另外,NetworkManager 无法检测后续的 initscript
操作。例如,如果在 down
和 absent
操作后没有重新载入连接,则 initscript 提供程序的 down
和 absent
操作不会更改 NetworkManager 对这个接口的未受管状态的理解。有了此修复,Networking 系统角色使用 NM.Client.reload_connections_async()
函数在具有 NetworkManager 1.18 的受管主机上重新载入 NetworkManager。因此,在将提供程序从 initscript
切换到 nm
时,NetworkManager 会管理网桥接口。
修复了一个拼写错误,为正确的绑定模式支持 active-backup
在以前的版本中,在指定 active-backup
绑定模式时,在支持 InfiniBand 端口时,active_backup
有一个拼写错误 。由于这个拼写错误,对于 InfiniBand 绑定端口,连接无法支持正确的绑定模式。这个更新通过将绑定模式改为 active-backup
解决了拼写错误。现在,连接可以成功支持 InfiniBand 绑定端口。
Logging 系统角色不再多次调用任务
在以前的版本中,日志记录角色会多次调用只应该调用一次的任务。因此,额外的任务调用会减慢角色执行速度。在这个版本中,日志记录角色被修改为只调用一次任务,从而提高了日志记录角色性能。
RHEL 系统角色现在处理生成的文件中的多行 ansible_managed
注释
在以前的版本中,一些 RHEL 系统角色使用 # {{ ansible_managed }}
生成一些文件。因此,如果客户有自定义多行 ansible_managed
设置,则文件会被错误地生成。在这个版本中,所有系统角色在生成文件时都使用了与 {{ ansible_managed | comment }}
等效的,以便 ansible_managed
字符串始终被正确注释,包括多行 ansible_managed
值。因此,生成的文件具有正确的多行 ansible_managed
值。
现在,当 target
更改时,Firewall 系统角色现在立即重新载入防火墙
在以前的版本中,当 target
参数已改变时,Firewall 系统角色不重新载入防火墙。在这个版本中,防火墙角色会在 target
更改时重新载入防火墙,因此 target
更改将立即可用,供后续操作使用。
Certificate 系统角色中的 group
选项不再使组无法访问证书
在以前的版本中,当为证书设置组时,mode
不会设置为允许组读取权限。因此,组成员无法读取证书角色发布的证书。在这个版本中,组设置可确保文件模式包含组读取权限。因此,组成员可以访问证书角色为组发布的证书。
Logging 角色不再缺少 immark
模块间隔值的引号
在以前的版本中,immark
模块的 interval
字段值没有正确加引号,因为 immark
模块没有正确配置。在这个版本中,interval
值会被正确加引号。现在,immark
模块可以正常工作。
/etc/tuned/kernel_settings/tuned.conf
文件有一个正确的 ansible_managed
标头
在以前的版本中,kernel_settings
RHEL 系统角色对 /etc/tuned/kernel_settings/tuned.conf
文件中的 ansible_managed
标头有一个硬编码的值。因此,用户无法提供自己的自定义 ansible_managed
标头。在这个版本中,这个问题已被解决,kernel_settings
使用用户的 ansible_managed
设置更新了 /etc/tuned/kernel_settings/tuned.conf
的标头。因此,/etc/tuned/kernel_settings/tuned.conf
有一个适当的 ansible_managed
标头。
VPN 系统角色过滤插件 vpn_ipaddr
现在转换为 FQCN(完全限定集合名)
在以前的版本中,从旧角色格式转换为集合格式的转换没有将过滤器插件 vpn_ipaddr
转换为 FQCN(Fully Qualified Collection Name) redhat.rhel_system_roles.vpn_ipaddr
。因此,VPN 角色无法通过短名称查找插件并报告错误。在这个版本中,转换脚本已被修改,过滤器会在集合中转换为 FQCN 格式。现在,VPN 角色在不发出错误的情况下运行。
(BZ#2050341)
kdump.service
的作业不再失败
在以前的版本中,用来配置内核崩溃大小的 Kdump 角色代码没有为 RHEL9 更新,这需要使用 kdumpctl reset-crashkernel
。因此,kdump.service
无法启动并发出错误。在这个版本中,kdump.service
角色使用 kdumpctl reset-crashkernel
来配置崩溃内核大小。现在,kdump.service
角色可以成功启动 kdump 服务,内核崩溃大小会被正确配置。
(BZ#2050419)