-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
rhos-18.0 FR 2 (Mar 2025)
-
None
-
3
-
False
-
-
False
-
?
-
rhos-ops-platform-services-pidone
-
None
-
-
-
Important
Service CRs (like Nova, Cinder, KeystoneAPI, etc) consume RabbitMQCluster CRs indirectly via creating TransportURL CRs. But looking at theTransportURL CRs and the RabbitMQCluster CRs in a deployment I don't see any finalizers on either of the resources. So nothing prevents deleting a RabbitMQCluster while it is being used by multiple services.
To Reproduce Steps to reproduce the behavior:
- deploy 18.0 (I used install_yamls and crc)
- delete the main rabbitmq template from the OpenStackControlPlane CR
- delete the RabbitMQCluster/rabbitmq from the k8s
- the RabbitMQCluster/rabbitmq is deleted and sevices starts failing as the message bus connection is lost.
or use https://github.com/openstack-k8s-operators/openstack-operator/pull/1351 and then trigger the full issue by just removing the main rabbitmq from the OpenStackControlPlane CR.
Expected behavior
- RabbitMQCluster/rabbitmq CR is only marked for deletion but not actually deleted as finalizers preventing the deletion while the resource is still in use by service CRs.
❯ oc get rabbitmq/rabbitmq -o yaml | yq ".metadata" creationTimestamp: "2025-04-07T16:09:32Z" generation: 1 name: rabbitmq namespace: openstack ownerReferences: - apiVersion: core.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: OpenStackControlPlane name: openstack-galera-network-isolation uid: fc82ff2e-5964-449e-ab29-e0141bf754cf resourceVersion: "41525" uid: 8e03edc3-e1d8-44e8-b599-0556d594c8ba ❯ oc get transporturl -o yaml | yq '.items[] | .metadata.name + " - " + .spec.rabbitmqClusterName' barbican-barbican-transport - rabbitmq ceilometer-transport - rabbitmq cinder-cinder-transport - rabbitmq keystone-keystone-transport - rabbitmq neutron-neutron-transport - rabbitmq nova-api-transport - rabbitmq nova-cell1-transport - rabbitmq-cell1 ❯ oc get transporturl -o yaml | yq '.items[] | .metadata' creationTimestamp: "2025-04-07T16:09:37Z" generation: 1 labels: service: barbican name: barbican-barbican-transport namespace: openstack ownerReferences: - apiVersion: barbican.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: Barbican name: barbican uid: 656c5cf7-cfd1-4f53-be98-ac8e75fb6120 resourceVersion: "41436" uid: fc54c558-9bf9-462a-a0ab-9637e7fadffa creationTimestamp: "2025-04-07T16:09:37Z" generation: 1 name: ceilometer-transport namespace: openstack ownerReferences: - apiVersion: telemetry.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: Ceilometer name: ceilometer uid: 82d8bf7a-3663-4b81-8fe2-c243ea241e9e resourceVersion: "41440" uid: bac5b8f1-f8f2-487b-b258-867f150490f0 creationTimestamp: "2025-04-07T16:09:37Z" generation: 1 labels: service: cinder name: cinder-cinder-transport namespace: openstack ownerReferences: - apiVersion: cinder.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: Cinder name: cinder uid: 87bd28ab-5413-4b38-81c8-b51be1839dcd resourceVersion: "41435" uid: 03978754-468a-40b2-81cb-1edd8834b2f5 creationTimestamp: "2025-04-07T16:10:22Z" generation: 1 labels: owner: keystone service: keystone name: keystone-keystone-transport namespace: openstack ownerReferences: - apiVersion: keystone.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: KeystoneAPI name: keystone uid: 5a09d0fb-dbc3-422c-8f28-bd7156d8d7d0 resourceVersion: "41447" uid: 79be7d37-a33b-4fb0-9911-bd7b99baef69 creationTimestamp: "2025-04-07T16:09:42Z" generation: 1 name: neutron-neutron-transport namespace: openstack ownerReferences: - apiVersion: neutron.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: NeutronAPI name: neutron uid: 1e182748-c97e-4866-adbc-266d4600dbb3 resourceVersion: "41443" uid: ac0b3b2a-c720-40e5-af9b-e62a244c1a5b creationTimestamp: "2025-04-07T16:11:27Z" generation: 1 name: nova-api-transport namespace: openstack ownerReferences: - apiVersion: nova.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: Nova name: nova uid: 69180b33-2b56-42b2-8465-04405fff35d7 resourceVersion: "44485" uid: 70269bd8-ef00-4c35-a476-bed8c649ac67 creationTimestamp: "2025-04-07T16:11:27Z" generation: 1 name: nova-cell1-transport namespace: openstack ownerReferences: - apiVersion: nova.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: Nova name: nova uid: 69180b33-2b56-42b2-8465-04405fff35d7 resourceVersion: "44491" uid: 64cc3aa8-3a55-4566-afa5-c411b3351e55