ansible:`run_once`的优先级与`when`一起?

时间:2019-09-27 10:26:24

标签: ansible ansible-2.x

我有多台主机,当我检测到安装了run_once的主机时,我想运行我的任务。

我可以以某种方式将whenwhen一起使用吗?

基本上,在应用run_once部分之前,我需要先将run_once用作初始的“过滤器”。

不幸的是,我在https://github.com/ansible/ansible/issues/23594阅读...

  

FYI we are able to do the desired behavior using include_tasks: driver.yml: - include_tasks: tasks_to_include.yml when: conditional_matching_multiple_hosts tasks_to_include.yml: - debug: msg="only run on one of the matching hosts" run_once: true 仅适用于第一个主机进入循环,如果when条件为False,则将跳过任务。当时间为True时,它不会在第一台主机上运行。

那么有没有一种简单而惯用的方式,也许结合以上方法使用delegate_to

我看到上述问题有建议:

yumdownloader --destdir=/etc/LinuxRepos/DOTNETSDK2.2.402 dotnet-host-3.0.0-x64.rpm
yumdownloader --destdir=/etc/LinuxRepos/DOTNETSDK2.2.402 dotnet-runtime-deps-2.2.7-rhel.7-x64.rpm4.
yumdownloader --destdir=/etc/LinuxRepos/DOTNETSDK2.2.402 dotnet-runtime-2.2.7-x64.rpm
yumdownloader --destdir=/etc/LinuxRepos/DOTNETSDK2.2.402 aspnetcore-runtime-2.2.7-x64.rpm
yumdownloader --destdir=/etc/LinuxRepos/DOTNETSDK2.2.402 dotnet-sdk-2.2.402-x64.rpm

但是我想要一个更简单的方法放在一个yaml文件中。

0 个答案:

没有答案