|
7 | 7 | osp_secrets_env_file: "{{ cifmw_architecture_repo }}/lib/control-plane/base/osp-secrets.env" |
8 | 8 | central_namespace: openstack |
9 | 9 | leaf_namespace: openstack2 |
10 | | - leaf_secret_name: osp-secret |
11 | 10 | central_rootca_secret: rootca-public |
12 | 11 | central_rootca_internal_secret: rootca-internal |
13 | 12 | leaf_transport_url_name: barbican-keystone-listener-regiontwo |
|
59 | 58 | keystone_public_url: "{{ skmo_values.data.keystonePublicURL }}" |
60 | 59 | ca_bundle_secret_name: "{{ skmo_values.data.leafCaBundleSecretName }}" |
61 | 60 |
|
62 | | - - name: Ensure leaf osp-secret exists (pre-create from env file) |
63 | | - ansible.builtin.shell: | |
64 | | - set -euo pipefail |
65 | | - if ! oc -n {{ leaf_namespace }} get secret {{ leaf_secret_name }} >/dev/null 2>&1; then |
66 | | - oc -n {{ leaf_namespace }} create secret generic {{ leaf_secret_name }} \ |
67 | | - --from-env-file="{{ osp_secrets_env_file }}" \ |
68 | | - --dry-run=client -o yaml | oc apply -f - |
69 | | - fi |
70 | | - args: |
71 | | - executable: /bin/bash |
72 | | - |
73 | | - - name: Read leaf admin password from leaf secret |
74 | | - ansible.builtin.shell: | |
75 | | - set -euo pipefail |
76 | | - oc -n {{ leaf_namespace }} get secret {{ leaf_secret_name }} \ |
77 | | - -o jsonpath='{.data.{{ leaf_admin_password_key }}}' | base64 -d |
78 | | - args: |
79 | | - executable: /bin/bash |
80 | | - register: leaf_admin_password |
81 | | - changed_when: false |
| 61 | + - name: Read leaf admin password from env file |
| 62 | + ansible.builtin.set_fact: |
| 63 | + leaf_admin_password: >- |
| 64 | + {{ dict(lookup('file', osp_secrets_env_file) | |
| 65 | + regex_findall('^([^#=\n][^=\n]*)=(.*)', multiline=True))[leaf_admin_password_key] | trim }} |
82 | 66 |
|
83 | 67 | - name: Ensure leaf region exists in central Keystone |
84 | 68 | ansible.builtin.shell: | |
|
124 | 108 | if ! oc -n {{ central_namespace }} rsh openstackclient \ |
125 | 109 | openstack user show {{ leaf_admin_user }} >/dev/null 2>&1; then |
126 | 110 | oc -n {{ central_namespace }} rsh openstackclient \ |
127 | | - openstack user create --domain Default --password "{{ leaf_admin_password.stdout | trim }}" {{ leaf_admin_user }} |
| 111 | + openstack user create --domain Default --password "{{ leaf_admin_password }}" {{ leaf_admin_user }} |
128 | 112 | fi |
129 | 113 | oc -n {{ central_namespace }} rsh openstackclient \ |
130 | 114 | openstack role add --project {{ leaf_admin_project }} --user {{ leaf_admin_user }} admin |
|
165 | 149 | }) }}" |
166 | 150 |
|
167 | 151 | - name: Create TransportURL CR in central region for leaf listener |
168 | | - ansible.builtin.shell: | |
169 | | - set -euo pipefail |
170 | | - oc apply -f - <<EOF |
171 | | - apiVersion: rabbitmq.openstack.org/v1beta1 |
172 | | - kind: TransportURL |
173 | | - metadata: |
174 | | - name: {{ leaf_transport_url_name }} |
175 | | - namespace: {{ central_namespace }} |
176 | | - spec: |
177 | | - rabbitmqClusterName: rabbitmq |
178 | | - EOF |
179 | | - args: |
180 | | - executable: /bin/bash |
| 152 | + kubernetes.core.k8s: |
| 153 | + state: present |
| 154 | + definition: |
| 155 | + apiVersion: rabbitmq.openstack.org/v1beta1 |
| 156 | + kind: TransportURL |
| 157 | + metadata: |
| 158 | + name: "{{ leaf_transport_url_name }}" |
| 159 | + namespace: "{{ central_namespace }}" |
| 160 | + spec: |
| 161 | + rabbitmqClusterName: rabbitmq |
181 | 162 |
|
182 | 163 | - name: Wait for TransportURL to be ready |
183 | | - ansible.builtin.shell: | |
184 | | - set -euo pipefail |
185 | | - oc wait transporturl {{ leaf_transport_url_name }} \ |
186 | | - -n {{ central_namespace }} \ |
187 | | - --for=condition=Ready --timeout=120s |
188 | | - args: |
189 | | - executable: /bin/bash |
| 164 | + kubernetes.core.k8s_info: |
| 165 | + api_version: rabbitmq.openstack.org/v1beta1 |
| 166 | + kind: TransportURL |
| 167 | + name: "{{ leaf_transport_url_name }}" |
| 168 | + namespace: "{{ central_namespace }}" |
| 169 | + register: _transport_url_info |
| 170 | + retries: 12 |
| 171 | + delay: 10 |
| 172 | + until: |
| 173 | + - _transport_url_info.resources | length > 0 |
| 174 | + - _transport_url_info.resources[0].status is defined |
| 175 | + - _transport_url_info.resources[0].status.conditions is defined |
| 176 | + - _transport_url_info.resources[0].status.conditions | |
| 177 | + selectattr('type', 'equalto', 'Ready') | |
| 178 | + selectattr('status', 'equalto', 'True') | list | length > 0 |
190 | 179 |
|
191 | 180 | - name: Get transport URL secret from central namespace |
192 | 181 | kubernetes.core.k8s_info: |
|
0 commit comments