Uploaded image for project: 'Red Hat OpenStack Services on OpenShift'
  1. Red Hat OpenStack Services on OpenShift
  2. OSPRH-15522

TransportURL does not prevent RabbitMqCluster CR deletion

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • rhos-18.0 FR 2 (Mar 2025)
    • infra-operator
    • None
    • 3
    • False
    • Hide

      None

      Show
      None
    • 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:

      1. deploy 18.0 (I used install_yamls and crc)
      2. delete the main rabbitmq template from the OpenStackControlPlane CR
      3. delete the RabbitMQCluster/rabbitmq from the k8s
      4. 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
      
      

              Unassigned Unassigned
              rh-ee-bgibizer Balazs Gibizer
              rhos-dfg-pidone
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: