Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
避免在Ansible Tower或AWX中为工作流制作大量模板_Ansible_Workflow_Ansible Awx_Ansible Tower - Fatal编程技术网

避免在Ansible Tower或AWX中为工作流制作大量模板

避免在Ansible Tower或AWX中为工作流制作大量模板,ansible,workflow,ansible-awx,ansible-tower,Ansible,Workflow,Ansible Awx,Ansible Tower,我正在使用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 在我的工作流程中,我希望每次启动一台服务器。现在我有两个模板。每组一个。是否可以在我的工作流中使用一个模板并用组名替换hosts变量 我使用相同的剧本进

我正在使用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
在我的工作流程中,我希望每次启动一台服务器。现在我有两个模板。每组一个。是否可以在我的工作流中使用一个模板并用组名替换hosts变量

我使用相同的剧本进行更新,使用不同的变量\u host

variable_host: SQL
variable_serial: 1
在我的剧本顶部,我有:

hosts: "{{ variable_host | default('WWW') }}"
serial: "{{ variable_serial | default(1) | int }}"

我正在寻找一个解决方案,我不必为我拥有的每个小组制作一个新的模板。谢谢

您可以通过在主修补模板上设置限制和额外变量提示,然后在将模板添加到工作流时使用提示选项来实现这一点,这样您就可以为添加到工作流中的每个模板实例设置限制和序列值

  • 创建用于修补的主模板

  • 确保将主机筛选器设置为“全部”(或与playbook中的所有组匹配的限制),并为serial设置一个变量

      host: all
      serial: "{{ variable_serial }}"
    
  • 现在为主模板上的额外变量和限制设置“启动时提示”选项并保存它

  • 将模板添加到工作流时,单击“提示”选项,并将每个限制/模板设置为一个组/序列设置

  • 然后继续使用不同的设置将模板添加到工作流中

为什么不同时向这两个组调用您的剧本?=>
hosts:WWW:SQL
因为我想为组设置不同的变量。Web服务器一次2个,但sql节点一个接一个。还有一些模板必须并行播放,还有一些模板必须串行播放。我正在寻找一个模板,可以处理这个。也许可以通过将额外的变量传递给工作流中的下一个模板,但我不知道如何…非常棒。谢谢这正是我要找的。完美的解释。