在ansible中,有没有办法注册角色的结果?
In ansible, is there a way to register the result of a role?
如果其他角色能够运行而没有错误,我实际上只是在尝试只运行一个特定的角色。这可能吗?
我试过类似的方法,但没有按预期工作
tasks:
- include_role:
name: user_role
register: users
- include_role:
name: another_role
when: users is success
看看注册的变量users
。您会看到没有属性 success
。因此不可能对其进行测试。例如
- debug:
var: users
应该给(如果没有改变的话)
"users": {
"changed": false,
"include_args": {
"name": "user_role"
}
}
Q: "Is there a way to register the result of a role?"
答:是的。这是。使用 Blocks error handling。例如
- block:
- include_role:
name: user_role
rescue:
- set_fact:
role_success: false
- meta: clear_host_errors
- include_role:
name: another_role
when: role_success|default(true)
如果其他角色能够运行而没有错误,我实际上只是在尝试只运行一个特定的角色。这可能吗?
我试过类似的方法,但没有按预期工作
tasks:
- include_role:
name: user_role
register: users
- include_role:
name: another_role
when: users is success
看看注册的变量users
。您会看到没有属性 success
。因此不可能对其进行测试。例如
- debug:
var: users
应该给(如果没有改变的话)
"users": {
"changed": false,
"include_args": {
"name": "user_role"
}
}
Q: "Is there a way to register the result of a role?"
答:是的。这是。使用 Blocks error handling。例如
- block:
- include_role:
name: user_role
rescue:
- set_fact:
role_success: false
- meta: clear_host_errors
- include_role:
name: another_role
when: role_success|default(true)