|
21 | 21 | mode: "0640" |
22 | 22 | when: cifmw_federation_deploy_type == "crc" |
23 | 23 |
|
| 24 | +- name: Check if federation domain already exists |
| 25 | + environment: |
| 26 | + KUBECONFIG: "{{ cifmw_openshift_kubeconfig }}" |
| 27 | + PATH: "{{ cifmw_path }}" |
| 28 | + ansible.builtin.command: |
| 29 | + cmd: >- |
| 30 | + oc exec -n {{ cifmw_federation_run_osp_cmd_namespace }} -t openstackclient -- |
| 31 | + openstack domain show {{ cifmw_federation_keystone_domain }} -f value -c id |
| 32 | + register: _federation_domain_check |
| 33 | + failed_when: false |
| 34 | + changed_when: false |
| 35 | + |
24 | 36 | - name: Run federation create domain |
| 37 | + when: _federation_domain_check.rc != 0 |
25 | 38 | vars: |
26 | 39 | _osp_cmd: "openstack domain create {{ cifmw_federation_keystone_domain }}" |
27 | 40 | ansible.builtin.include_tasks: run_osp_cmd.yml |
28 | 41 |
|
| 42 | +- name: Check if federation identity provider already exists |
| 43 | + environment: |
| 44 | + KUBECONFIG: "{{ cifmw_openshift_kubeconfig }}" |
| 45 | + PATH: "{{ cifmw_path }}" |
| 46 | + ansible.builtin.command: |
| 47 | + cmd: >- |
| 48 | + oc exec -n {{ cifmw_federation_run_osp_cmd_namespace }} -t openstackclient -- |
| 49 | + openstack identity provider show {{ cifmw_federation_IdpName }} -f value -c id |
| 50 | + register: _federation_idp_check |
| 51 | + failed_when: false |
| 52 | + changed_when: false |
| 53 | + |
29 | 54 | - name: Run federation identity provider create |
| 55 | + when: _federation_idp_check.rc != 0 |
30 | 56 | vars: |
31 | 57 | _osp_cmd: "openstack identity provider create |
32 | 58 | --remote-id {{ cifmw_federation_remote_id }} |
|
47 | 73 | remote_path: "/home/cloud-admin/{{ cifmw_federation_rules_file }}" |
48 | 74 | local_path: "{{ [ ansible_user_dir, 'ci-framework-data', 'tmp', cifmw_federation_rules_file ] | path_join }}" |
49 | 75 |
|
| 76 | +- name: Check if federation mapping already exists |
| 77 | + environment: |
| 78 | + KUBECONFIG: "{{ cifmw_openshift_kubeconfig }}" |
| 79 | + PATH: "{{ cifmw_path }}" |
| 80 | + ansible.builtin.command: |
| 81 | + cmd: >- |
| 82 | + oc exec -n {{ cifmw_federation_run_osp_cmd_namespace }} -t openstackclient -- |
| 83 | + openstack mapping show {{ cifmw_federation_mapping_name }} -f value -c id |
| 84 | + register: _federation_mapping_check |
| 85 | + failed_when: false |
| 86 | + changed_when: false |
| 87 | + |
50 | 88 | - name: Run federation mapping create |
| 89 | + when: _federation_mapping_check.rc != 0 |
51 | 90 | vars: |
52 | 91 | _osp_cmd: "openstack mapping create |
53 | 92 | --rules {{ cifmw_federation_rules_file }} |
54 | 93 | {{ cifmw_federation_mapping_name }}" |
55 | 94 | ansible.builtin.include_tasks: run_osp_cmd.yml |
56 | 95 |
|
| 96 | +- name: Check if federation group already exists |
| 97 | + environment: |
| 98 | + KUBECONFIG: "{{ cifmw_openshift_kubeconfig }}" |
| 99 | + PATH: "{{ cifmw_path }}" |
| 100 | + ansible.builtin.command: |
| 101 | + cmd: >- |
| 102 | + oc exec -n {{ cifmw_federation_run_osp_cmd_namespace }} -t openstackclient -- |
| 103 | + openstack group show --domain {{ cifmw_federation_keystone_domain }} |
| 104 | + {{ cifmw_federation_group_name }} -f value -c id |
| 105 | + register: _federation_group_check |
| 106 | + failed_when: false |
| 107 | + changed_when: false |
| 108 | + |
57 | 109 | - name: Run federation group create |
| 110 | + when: _federation_group_check.rc != 0 |
58 | 111 | vars: |
59 | 112 | _osp_cmd: "openstack group create |
60 | 113 | --domain {{ cifmw_federation_keystone_domain }} |
61 | 114 | {{ cifmw_federation_group_name }}" |
62 | 115 | ansible.builtin.include_tasks: run_osp_cmd.yml |
63 | 116 |
|
| 117 | +- name: Check if federation project already exists |
| 118 | + environment: |
| 119 | + KUBECONFIG: "{{ cifmw_openshift_kubeconfig }}" |
| 120 | + PATH: "{{ cifmw_path }}" |
| 121 | + ansible.builtin.command: |
| 122 | + cmd: >- |
| 123 | + oc exec -n {{ cifmw_federation_run_osp_cmd_namespace }} -t openstackclient -- |
| 124 | + openstack project show --domain {{ cifmw_federation_keystone_domain }} |
| 125 | + {{ cifmw_federation_project_name }} -f value -c id |
| 126 | + register: _federation_project_check |
| 127 | + failed_when: false |
| 128 | + changed_when: false |
| 129 | + |
64 | 130 | - name: Run federation project create |
| 131 | + when: _federation_project_check.rc != 0 |
65 | 132 | vars: |
66 | 133 | _osp_cmd: "openstack project create |
67 | 134 | --domain {{ cifmw_federation_keystone_domain }} |
68 | 135 | {{ cifmw_federation_project_name }}" |
69 | 136 | ansible.builtin.include_tasks: run_osp_cmd.yml |
70 | 137 |
|
71 | | -- name: Run federation rule add |
72 | | - vars: |
73 | | - _osp_cmd: "openstack role add |
| 138 | +- name: Run federation role add (safe to repeat - role add is idempotent) |
| 139 | + environment: |
| 140 | + KUBECONFIG: "{{ cifmw_openshift_kubeconfig }}" |
| 141 | + PATH: "{{ cifmw_path }}" |
| 142 | + ansible.builtin.command: |
| 143 | + cmd: >- |
| 144 | + oc exec -n {{ cifmw_federation_run_osp_cmd_namespace }} -t openstackclient -- |
| 145 | + openstack role add |
74 | 146 | --group {{ cifmw_federation_group_name }} |
75 | 147 | --group-domain {{ cifmw_federation_keystone_domain }} |
76 | 148 | --project {{ cifmw_federation_project_name }} |
77 | 149 | --project-domain {{ cifmw_federation_keystone_domain }} |
78 | | - member" |
79 | | - ansible.builtin.include_tasks: run_osp_cmd.yml |
| 150 | + member |
| 151 | + failed_when: false |
| 152 | + changed_when: true |
| 153 | + |
| 154 | +- name: Check if federation protocol already exists |
| 155 | + environment: |
| 156 | + KUBECONFIG: "{{ cifmw_openshift_kubeconfig }}" |
| 157 | + PATH: "{{ cifmw_path }}" |
| 158 | + ansible.builtin.command: |
| 159 | + cmd: >- |
| 160 | + oc exec -n {{ cifmw_federation_run_osp_cmd_namespace }} -t openstackclient -- |
| 161 | + openstack federation protocol show openid |
| 162 | + --identity-provider {{ cifmw_federation_IdpName }} -f value -c id |
| 163 | + register: _federation_protocol_check |
| 164 | + failed_when: false |
| 165 | + changed_when: false |
80 | 166 |
|
81 | 167 | - name: Run federation protocol create |
| 168 | + when: _federation_protocol_check.rc != 0 |
82 | 169 | vars: |
83 | 170 | _osp_cmd: "openstack federation protocol create openid |
84 | 171 | --mapping {{ cifmw_federation_mapping_name }} |
|
0 commit comments