7.11. Red Hat Enterprise Linux 系统角色
运行相同输出时角色任务不再改变
在以前的版本中,在再次运行同一输入时,一些角色任务会报告为 CHANGED
,即使没有更改也是如此。因此,该角色并不具有幂等性。要解决这个问题,请执行以下操作:
-
在应用配置变量前检查配置变量是否有所变化。您可以使用
--check
选项进行此验证。 -
不要向配置文件中添加
Last Modified: $date
标头。
因此,角色任务是幂等的。
Postfix 文档中的不再错误定义 relayhost
参数
在以前的版本中,Postfix RHEL 系统角色的 relayhost
参数在 doc /usr/share/doc/
文档中被定义为 rhel-system-roles
/postfix/README.mdrelay_host
。在这个版本中解决了这个问题,现在 Postfix
文档中正确定义了 relayhost
参数。
Postfix
RHEL 系统角色 README.md 不再在"Role Variables"部分缺少变量
在以前的版本中,在"Role Variables"部分下没有包括 Postfix
RHEL 系统角色变量(如 postfix_check
, postfix_backup
, postfix_backup_multiple
)。因此,用户无法查阅 Postfix 角色文档。在这个版本中,在 Postfix
README 部分添加了角色变量文档。角色变量被记录下来,并在 rhel-system-roles
提供的 doc/usr/share/doc/rhel-system-roles/postfix/README.md
文档中供用户使用。
Postfix
角色 README 不再使用普通角色名称
在以前的版本中,/usr/share/ansible/roles/rhel-system-roles.postfix/README.md
中提供的示例使用了角色名称的普通版本(postfix
),而不是使用 rhel-system-roles.postfix
。因此,用户会因为参考了文档而错误地使用普通角色名称而不是完全限定域名(FQRN)。在这个版本中解决了这个问题,文档包含了 FQRN、rhel-system-roles.postfix
的示例,让用户能够正确地写入 playbook。
timesync
的输出日志应只报告有危害的错误
在以前的版本中,timesync
RHEL 系统角色使用 ignore_errors
指令,在很多任务中对任务失败进行单独的检查。因此,成功运行的角色的输出日志中可以会充满了并没有危害的错误。用户可以安全地忽略这些错误,但这些信息可能会对用户造成干扰。在这个版本中,相关的任务被重写,不再使用 ignore_errors
。因此,现在的输出日志非常干净,只报告会导致角色停止运行的错误。
Ansible 集合中不再缺少 requirements.txt
文件
在以前的版本中,Ansible 集合中缺少了负责指定 python 依赖项的 requirements.txt
文件。在这个版本中,在 /usr/share/ansible/collections/ansible_collections/redhat/rhel_system_roles/requirements.tx
路径中添加了带有正确依赖关系的、过去缺少的文件。
为 storage_pools
设置 type: partition
时不再会看到 traceback
在以前的版本中,当将一个 playbook 中的 storage_pools
的变量 type
设置为 partition
时,运行此 playbook 将失败并指示 traceback
。在这个版本中解决了这个问题,不再会出现 Traceback
错误。
SELinux
角色不再执行不必要的重新加载
在以前的版本中,SElinux
角色不会在重新载入 SElinux
策略前检查是否实际应用了更改。因此,SElinux
策略会不必要的重新加载,这会影响系统资源。在这个版本中,SElinux
角色使用 ansible 处理程序和条件来确保仅在有更改时才重新加载策略。因此,SElinux
角色的运行速度要快得多。
sshd
角色不再无法使用在 RHEL6 主机上安装的 sshd_config
文件启动。
在以前的版本中,当受管节点运行 RHEL6 时,OpenSSH 的版本在 Match 条件中不支持由安装任务添加的 "Match all"。因此,sshd
无法使用安装的 sshd_config
文件的 RHEL6 主机上启动。在这个版本中解决了这个问题,方法是将 RHEL6 sshd_config
配置文件的 "Match all" 替换为 "Match address *",因为 OpenSSH 版本支持这个标准。因此,sshd
RHEL 系统角色可以成功从 RHEL6 主机上安装的 sshd_config
文件启动。
README.md
示例中的 SSHD 角色名称不再不正确
在以前的版本中,在 sshd README.md
文件中,示例引用使用 willshersystems.sshd
名称调用角色。在这个版本中解决了这个问题,示例中的引用使用了正确的名称 "rhel_system_roles.sshd"。
当 tls
为 false
时,key/certs
源文件不再被复制
在以前的版本中,在 日志记录
RHEL 系统角色 elasticsearch 输出中,如果控制主机上的 key/certs
源文件路径在 playbook 中配置,它们会被复制到受管主机,即使 tls
被设置为 false
。因此,如果配置了 key/cert
文件路径,并且 tls
被设置为 false
,该命令将失败,因为复制源文件不存在。在这个版本中解决了这个问题,只有在 tls
参数被设置为 true
时,key/certs
才会执行。
为 metric
角色中的目标主机启用日志记录的任务现在可以正常工作
在以前的版本中,指标
RHEL 系统角色中的一个错误会阻止在 启用性能指标日志记录
任务中引用目标主机。因此,不会生成用于性能指标日志记录的控制文件。在这个版本中解决了这个问题,现在可以正确地引用目标主机。因此,控制文件被成功创建,启用性能指标日志执行。
sshd_hostkey_group
和 sshd_hostkey_mode
变量现在可在 playbook 中配置
在以前的版本中,sshd_hostkey_group
和 sshd_hostkey_mode
变量在 defaults
和 vars
文件中被意外定义。因此,用户无法在 playbook 中配置这些变量。在这个版本中,sshd_hostkey_group
被重新命名为 __sshd_hostkey_group
,sshd_hostkey_mode
被重新命名为 __sshd_hostkey_mode
用于定义 vars
文件中的常量值。在 default
文件中,sshd_hostkey_group
被设置为 __sshd_hostkey_group
,sshd_hostkey_mode
被设置为 __sshd_hostkey_mode
。现在,用户可以在 playbook 中配置 sshd_hostkey_group
和 sshd_hostkey_mode
变量。
README.md
中的 RHEL 系统角色内部链接不再被破坏
在以前的版本中,README.md
文件中可用的内部链接被破坏。因此,如果用户点特定的小节文档链接,它不会将用户重定向到特定的 README.md
部分。在这个版本中解决了这个问题,内部链接将用户指向正确的部分。