避免在 Ansible Tower 或 AWX 中为工作流程制作大量模板
Avoid making a lot of templates for a workflow in Ansible Tower or AWX
我正在使用 AWX 更新我的 Windows 服务器。我有一个包含组和主机的清单文件。例如:
[WWW]
foo.example.com
bar.example.com
foo1.example.com
bar1.example.com
[SQL]
one.example.com
two.example.com
three.example.com
在我的工作流程中,我希望服务器一次启动一个。现在我有两个模板。每组一个。是否可以在我的工作流程中使用一个模板并将主机变量替换为组名?
Screenshot Current Workflow
我使用相同的剧本进行更新,但variable_host。
variable_host: SQL
variable_serial: 1
在我的剧本中,我位于顶部:
hosts: "{{ variable_host | default('WWW') }}"
serial: "{{ variable_serial | default(1) | int }}"
我正在寻找一种解决方案,我不必为我拥有的每个组制作新模板。谢谢!
您可以通过在主修补模板上设置限制和额外变量的提示,然后在将模板添加到工作流程时使用提示选项来实现这一点,这样您就可以设置每个限制和序列值模板实例已添加到工作流中。
创建用于修补的主模板。
确保将主机过滤器设置为“全部”(或匹配剧本中所有组的限制),并为串行设置变量。
host: all
serial: "{{ variable_serial }}"
现在为主模板设置额外变量和限制的“PROMPT ON LAUNCH”选项并保存。
- 将模板添加到工作流程时,单击“提示”选项并将每个 limit/template 设置为一个 group/serial 设置。
- 然后继续使用不同的设置向工作流中添加模板。
我正在使用 AWX 更新我的 Windows 服务器。我有一个包含组和主机的清单文件。例如:
[WWW]
foo.example.com
bar.example.com
foo1.example.com
bar1.example.com
[SQL]
one.example.com
two.example.com
three.example.com
在我的工作流程中,我希望服务器一次启动一个。现在我有两个模板。每组一个。是否可以在我的工作流程中使用一个模板并将主机变量替换为组名?
Screenshot Current Workflow
我使用相同的剧本进行更新,但variable_host。
variable_host: SQL
variable_serial: 1
在我的剧本中,我位于顶部:
hosts: "{{ variable_host | default('WWW') }}"
serial: "{{ variable_serial | default(1) | int }}"
我正在寻找一种解决方案,我不必为我拥有的每个组制作新模板。谢谢!
您可以通过在主修补模板上设置限制和额外变量的提示,然后在将模板添加到工作流程时使用提示选项来实现这一点,这样您就可以设置每个限制和序列值模板实例已添加到工作流中。
创建用于修补的主模板。
确保将主机过滤器设置为“全部”(或匹配剧本中所有组的限制),并为串行设置变量。
host: all serial: "{{ variable_serial }}"
现在为主模板设置额外变量和限制的“PROMPT ON LAUNCH”选项并保存。
- 将模板添加到工作流程时,单击“提示”选项并将每个 limit/template 设置为一个 group/serial 设置。
- 然后继续使用不同的设置向工作流中添加模板。