如何解决仅当预期返回时 SaltStack 结果成功
我正在使用 win_wua.list 检查服务器是否有可用更新
update_system:
module.run:
- name: win_wua.list
问题是如果服务器有挂起的更新,状态结果是否为“真”,则没有仪表 但我的目标是将此作为后检查运行,所以我希望状态只有在返回“无返回”的情况下才“成功”在任何其他情况下我希望状态为“假”
LKA5:
----------
ID: update_system
Function: module.run
Name: win_wua.list
Result: True
Comment: Module function win_wua.list executed
Started: 17:04:29.326587
Duration: 4017.653 ms
Changes:
----------
ret:
Nothing to return
Summary for LKA5
------------
Succeeded: 1 (changed=1)
Failed: 0
------------
Total states run: 1
Total run time: 4.018 s
LKA3:
----------
ID: update_system
Function: module.run
Name: win_wua.list
Result: True
Comment: Module function win_wua.list executed
Started: 17:04:25.563111
Duration: 7113.497 ms
Changes:
----------
ret:
Nothing to return
Summary for LKA3
------------
Succeeded: 1 (changed=1)
Failed: 0
------------
Total states run: 1
Total run time: 7.113 s
解决方法
因此有两个模块可以使用 Saltstack 管理 Windows 更新:
-
win_wua
execution module -
win_wua
state module
似乎您正在使用执行模块,无论系统当前状态如何,该模块始终运行。所以它总是会报告为已更改。另一方面,状态模块只会在需要更新时运行。
以下状态 ID 将确保系统更新(如指定),并将报告为已更改。然后我们可以使用 requisite system 来触发另一个状态。
示例:
# Including driver updates for example
update_system:
wua.uptodate:
- drivers: True
# Verify if further updates are there
verify_updates:
module.run:
- name: win_wua.list
- install: True
- onchanges:
- wua: update_system
在上面的例子中,如果 update_system
没有更新任何东西(没有更新),那么 verify_updates
将不会运行。如果某些软件包已更新,则 verify_updates
将运行。还有其他必要条件(上面链接)可以根据您的用例加以考虑。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。