使用 add_host 为先前任务中更改的主机创建动态组

时间:2021-06-05 07:48:33

标签: ansible ansible-inventory

全部,

需要与上一个任务中改变的主机组成一个动态组,所以忽略那些被跳过的。

   - name: Sample task to run some command
     command: cat /etc/abc
     when: some condition
     register: cmmd

现在假设有 20 台主机并且正在使用串行:15 运行我的剧本,我如何在上述任务之后使用 add_host 或 group_by 形成一个动态组,这可以提供一个仅包含示例任务运行的主机的主机组/改变。因为我需要在下一个任务中在更改后的主机上运行一些任务,但使用 ansible_play_hosts 会导致它失败,因为其他 5 个服务器未定义。

尝试了 add_host 但无法通过。

    - name: Form dynamic group
      add_host:
         host: "{{ item }}"
         group: dynamic
      with_items: "{{ ansible_play_hosts }}"
      when: hostvars[item].cmmd.changed
      notify:
         - some handler where i'll use this group to run tasks

0 个答案:

没有答案