|
3 | 3 | # application network for cross-region RabbitMQ access. |
4 | 4 | # |
5 | 5 | # In the leaf region: |
6 | | -# - Read the RabbitMQ credentials from the dedicated user credentials secret |
7 | | -# created by the RabbitMQ operator when the TransportURL CR is reconciled. |
| 6 | +# - Look up the TransportURL CR to find the RabbitMQUser CR reference. |
| 7 | +# - Look up the RabbitMQUser CR to find the credentials secret name. |
| 8 | +# - Read the credentials from that secret. |
8 | 9 | # - Patch barbicanKeystoneListener to connect to the central RabbitMQ via the |
9 | 10 | # Skupper Listener endpoint using those credentials and its own pool_name. |
10 | 11 | # |
|
15 | 16 | # Must match the host set in skupper-listener.yaml. |
16 | 17 | # cifmw_skupper_rabbitmq_port (default: 5671) |
17 | 18 | # cifmw_skupper_transport_url_name (default: barbican-keystone-listener-regiontwo) |
18 | | -# Name of the TransportURL CR created in prepare-leaf.yaml. The operator |
19 | | -# creates a user credentials secret named: |
20 | | -# rabbitmq-user-<name>-<username>-user |
21 | | -# cifmw_skupper_transport_url_username (default: barbican-keystone-listener-regiontwo) |
22 | | -# Must match the username field set on the TransportURL CR in prepare-leaf.yaml. |
| 19 | +# Name of the TransportURL CR created in prepare-leaf.yaml. |
23 | 20 | - name: Configure barbican-keystone-listener to use Skupper for cross-region RabbitMQ |
24 | 21 | hosts: "{{ cifmw_target_hook_host | default('localhost') }}" |
25 | 22 | gather_facts: false |
|
29 | 26 | cifmw_skupper_listener_host: rabbitmq-regionone |
30 | 27 | cifmw_skupper_rabbitmq_port: 5671 |
31 | 28 | cifmw_skupper_transport_url_name: barbican-keystone-listener-regiontwo |
32 | | - cifmw_skupper_transport_url_username: barbican-keystone-listener-regiontwo |
33 | 29 | tasks: |
34 | | - - name: Get RabbitMQ user credentials secret for leaf listener |
35 | | - # The RabbitMQ operator creates a secret named |
36 | | - # rabbitmq-user-<transport-url-name>-<username>-user that contains |
37 | | - # the username and password fields for the dedicated RabbitMQ user. |
| 30 | + - name: Get TransportURL CR to find the RabbitMQUser reference |
| 31 | + kubernetes.core.k8s_info: |
| 32 | + api_version: rabbitmq.openstack.org/v1beta1 |
| 33 | + kind: TransportURL |
| 34 | + namespace: "{{ cifmw_skupper_central_namespace }}" |
| 35 | + name: "{{ cifmw_skupper_transport_url_name }}" |
| 36 | + register: _transport_url |
| 37 | + |
| 38 | + - name: Fail if TransportURL not found |
| 39 | + ansible.builtin.fail: |
| 40 | + msg: "TransportURL {{ cifmw_skupper_transport_url_name }} not found in namespace {{ cifmw_skupper_central_namespace }}" |
| 41 | + when: _transport_url.resources | length == 0 |
| 42 | + |
| 43 | + - name: Get RabbitMQUser CR to find the credentials secret name |
| 44 | + kubernetes.core.k8s_info: |
| 45 | + api_version: rabbitmq.openstack.org/v1beta1 |
| 46 | + kind: RabbitMQUser |
| 47 | + namespace: "{{ cifmw_skupper_central_namespace }}" |
| 48 | + name: "{{ _transport_url.resources[0].status.rabbitmqUserRef }}" |
| 49 | + register: _rabbitmq_user |
| 50 | + |
| 51 | + - name: Fail if RabbitMQUser not found |
| 52 | + ansible.builtin.fail: |
| 53 | + msg: "RabbitMQUser {{ _transport_url.resources[0].status.rabbitmqUserRef }} not found in namespace {{ cifmw_skupper_central_namespace }}" |
| 54 | + when: _rabbitmq_user.resources | length == 0 |
| 55 | + |
| 56 | + - name: Get RabbitMQ user credentials secret |
38 | 57 | kubernetes.core.k8s_info: |
39 | 58 | api_version: v1 |
40 | 59 | kind: Secret |
41 | 60 | namespace: "{{ cifmw_skupper_central_namespace }}" |
42 | | - name: "rabbitmq-user-{{ cifmw_skupper_transport_url_name }}-{{ cifmw_skupper_transport_url_username }}-user" |
| 61 | + name: "{{ _rabbitmq_user.resources[0].status.secretName }}" |
43 | 62 | register: _rabbitmq_user_secret |
44 | 63 |
|
| 64 | + - name: Fail if credentials secret not found |
| 65 | + ansible.builtin.fail: |
| 66 | + msg: "Secret {{ _rabbitmq_user.resources[0].status.secretName }} not found in namespace {{ cifmw_skupper_central_namespace }}" |
| 67 | + when: _rabbitmq_user_secret.resources | length == 0 |
| 68 | + |
45 | 69 | - name: Patch leaf barbicanKeystoneListener to use Skupper RabbitMQ endpoint |
46 | 70 | vars: |
47 | 71 | _username: "{{ _rabbitmq_user_secret.resources[0].data['username'] | b64decode }}" |
|
0 commit comments