Ash*_*har 1 syntax-error wait ansible pause ansible-role
这是我的剧本:
---
- hosts: "mms"
user: wladmin
roles:
- { role: App1 }
- { role: App2 }
- { role: App3 }
- { role: App4 }
Run Code Online (Sandbox Code Playgroud)
我希望在这些 ansible 角色之间暂停 30 秒。
我尝试了以下但它给了我语法错误:
roles:
- { role: App1 }
pause:
seconds: 30
- { role: App2 }
pause:
seconds: 30
- { role: App3 }
Run Code Online (Sandbox Code Playgroud)
我也尝试过
roles:
- { role: App1 }
- pause:
seconds: 30
- { role: App2 }
- pause:
seconds: 30
- { role: App3 }
Run Code Online (Sandbox Code Playgroud)
你能建议一下吗?
pause不是角色,因此您不能将其包含在roles您的戏剧部分中。pause是一项任务。您有几个选择:
import_role任务而不是roles部分例如:
- hosts: localhost
tasks:
- import_role:
name: App1
- pause:
seconds: 30
- import_role:
name: App2
- pause:
seconds: 30
- import_role:
name: App3
Run Code Online (Sandbox Code Playgroud)
创建一个pause角色。把这个放进去roles/pause/tasks/main.yml:
- name: pause
pause:
seconds: "{{ pause_seconds|default(30) }}"
Run Code Online (Sandbox Code Playgroud)
这在roles/pause/meta/main.yml:
allow_duplicates: true
Run Code Online (Sandbox Code Playgroud)
现在你可以写:
- hosts: localhost
roles:
- App1
- pause
- App2
- pause
- App3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |