- name: Ensure role does not exist before tests openstack.cloud.identity_role: cloud: "{{ cloud }}" state: absent name: test_role - name: Get unexistent role openstack.cloud.identity_role_info: cloud: "{{ cloud }}" name: test_role register: roleinfo - debug: var: roleinfo - name: Assert that no results were returned assert: that: not roleinfo.roles - name: Create keystone role openstack.cloud.identity_role: cloud: "{{ cloud }}" state: present name: test_role - name: Create second role openstack.cloud.identity_role: cloud: "{{ cloud }}" state: present name: test_role2 - name: Get role by name openstack.cloud.identity_role_info: cloud: "{{ cloud }}" name: test_role register: roleinfo - debug: var: roleinfo - name: Assert that only one result was returned assert: that: roleinfo.roles | length == 1 - name: Assert that roleinfo has fields assert: that: item in roleinfo.roles[0] loop: - description - domain_id - id - links - name - name: Post-test cleanup block: - name: Clean up roles openstack.cloud.identity_role: cloud: "{{ cloud }}" state: absent name: "{{ item }}" loop: - test_role - test_role2