使用Windown和RedHat的SaltStack编排补丁

问题描述

目前,我对Salt并不那么熟悉。 我的经理要求我通过Salt进行修补自动化。 目前,正在寻找最佳的方法来做到这一点。 任何建议将不胜感激!

有什么要求:

  1. 通过自定义纹理指定目标小兵
  2. 确定操作系统RedHat或Windows
  3. 仅当操作系统为Windows时,才进行部署前重启
  4. 安装可用更新
  5. 部署后重新启动

第一点至少完成

部署前重新启动

{% elif grains['os_family'] == 'Windows' %}
cmd.run:
    - name: shutdown -r -t 120 && shutdown -a && echo changed=no comment="Reboot is not scheduled" || echo changed=yes comment="Reboot is scheduled"
    - stateful: true
{% endif %}

修补

{% if grains['os_family'] == 'RedHat' %}
include:
  - pkg.update
{% elif grains['os_family'] == 'Windows' %}
include:
  - win_wua.list install=True
{% else %}
init_fail_os.update:
  test.fail_with_changes:
    - name: "The OS family is not defined in os.update states"
{% endif %}

部署后重新启动

{% if grains['os_family'] == 'RedHat' %}
cmd.run:
  - name: 'sleep 10s && reboot'
{% elif grains['os_family'] == 'Windows' %}
cmd.run:
    - name: shutdown -r -t 120 && shutdown -a && echo changed=no comment="Reboot is not scheduled" || echo changed=yes comment="Reboot is scheduled"
    - stateful: true
{% endif %}

我想对它们进行编排,但是不确定如何做。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)