在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)