我对此表示怀疑,ansible 是否支持这种情况。场景 - 块有一个条件与时间。块内的任务再次具有进一步的条件(when)。例如:main.yml 的任务有
- block:
- name: task 1
shell: check_install
when: ansible_distribution == 'CentOS'
- name: task 2
shell: echo "test task"
when: out.rc > "0" #assuming **out** is registered above
become: true
when: sw_install|default(False) == True
Run Code Online (Sandbox Code Playgroud)
根据 ansible 文档,
您可以应用于单个任务的大部分内容(循环除外)都可以在块级别应用,这也使得设置任务通用的数据或指令变得更加容易。这并不意味着指令会影响块本身,而是由块所包含的任务继承。即何时将应用于任务,而不是块本身。
所以基本问题是,如果我使用上述任务运行剧本,条件流是如何发生的。它是否像和条件一样运行 ?
喜欢
run task 1 when: block conditional & task one conditional satisfies
run task 2 when: block conditional & task two conditional satisfies
Run Code Online (Sandbox Code Playgroud)