Skip to content

User or Namespace stuck on Terminating becuase Secret has been deleted already #277

@carlosjgp

Description

@carlosjgp

Describe the bug

User and Permission can't be deleted due to the finalizer when the Namespace is deleted without deleting all the containing resources first

To Reproduce

Steps to reproduce the behavior:

  1. Create NS and resources kubectl apply -f
apiVersion: v1
kind: Namespace
metadata:
  name: test
---
apiVersion: v1
kind: Secret
metadata:
  name: test-creds
  namespace: test
type: Opaque
stringData:
  username: my-fav-user
  password: secure-pass
---
apiVersion: rabbitmq.com/v1beta1
kind: User
metadata:
  name: my-fav-user
  namespace: test
spec:
  tags:
  - management # available tags are 'management', 'policymaker', 'monitoring' and 'administrator'
  - policymaker
  rabbitmqClusterReference:
    name: rabbitmq
    namespace: test
  importCredentialsSecret:
    name: test-creds
---
apiVersion: rabbitmq.com/v1beta1
kind: Permission
metadata:
  name: my-fav-user
  namespace: test
spec:
  vhost: /
  user: my-fav-user
  permissions:
    write: ".*"
    configure: ".*"
    read: ".*"
  rabbitmqClusterReference:
    name: rabbitmq
    namespace: test
  1. Delete the NS kubectl delete ns test
  2. NS is stuck on Terminating state

2b. Delete Secret kubectl delete secret -n test test-creds
3b. Try to delete User kubectl delete rabbitmq.com/v1beta1/users -n test test
4b. User is stuck on Terminating

Expected behavior
NS is deleted and operator resources are managed correctly on the RabbitrMQ cluster, User and Permissions are deleted

Version and environment information

  • Messaging Topology Operator: docker.io/bitnami/rmq-messaging-topology-operator:1.2.1-scratch-r0
  • RabbitMQ: docker.io/bitnami/rabbitmq:3.8.26-debian-10-r25
  • RabbitMQ Cluster Operator: docker.io/bitnami/rabbitmq-cluster-operator:1.10.0-scratch-r4
  • Kubernetes: eks - 1.21
  • Cloud provider or hardware configuration: aws

Additional context

RabbitMQ operator Helm chart 2.0.8

Logs:

{"level":"error","ts":1640000147.7811627,"logger":"controller-runtime.manager.controller.user","msg":"Reconciler error","reconciler group":"rabbitmq.com","reconciler kind":"User","name":"admin","namespace":"test","error":"Secret \"admin-creds\" not found","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:253\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:214"}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions