-
Notifications
You must be signed in to change notification settings - Fork 78
Description
Describe the bug
Declaring a user with the topology operator fails to declare with the error "Error 404 (Object Not Found): Not Found"
To Reproduce
apiVersion: v1
kind: Secret
metadata:
name: user-secret
namespace: xxx #same namespace as the deployed RabbitmqCluster
type: Opaque
stringData:
username: test
password: test
---
apiVersion: rabbitmq.com/v1beta1
kind: User
metadata:
name: tutorial-user
namespace: xxx #same namespace as the deployed RabbitmqCluster
spec:
importCredentialsSecret:
name: user-secret
rabbitmqClusterReference:
name: rabbitmq # name of the RabbitmqCluster
kubectl apply -f .\user-repro.yaml
secret/user-secret created
user.rabbitmq.com/tutorial-user created
kubectl describe user.rabbitmq.com tutorial-user -n xxx
Name: tutorial-user
Namespace: xxx
Labels: <none>
Annotations: <none>
API Version: rabbitmq.com/v1beta1
Kind: User
Metadata:
Creation Timestamp: 2022-01-24T01:10:48Z
Finalizers:
deletion.finalizers.users.rabbitmq.com
Generation: 2
Managed Fields:
API Version: rabbitmq.com/v1beta1
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.:
f:kubectl.kubernetes.io/last-applied-configuration:
f:spec:
.:
f:importCredentialsSecret:
.:
f:name:
f:rabbitmqClusterReference:
.:
f:name:
Manager: kubectl-client-side-apply
Operation: Update
Time: 2022-01-24T01:10:48Z
API Version: rabbitmq.com/v1beta1
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:finalizers:
.:
v:"deletion.finalizers.users.rabbitmq.com":
f:spec:
f:rabbitmqClusterReference:
f:namespace:
f:status:
.:
f:conditions:
f:credentials:
.:
f:name:
Manager: manager
Operation: Update
Time: 2022-01-24T01:10:48Z
Resource Version: 91619254
Self Link: /apis/rabbitmq.com/v1beta1/namespaces/xxx/users/tutorial-user
UID: c90214f0-dd7d-46f4-acae-ce6746d63c88
Spec:
Import Credentials Secret:
Name: user-secret
Rabbitmq Cluster Reference:
Name: rabbitmq
Namespace:
Status:
Conditions:
Last Transition Time: 2022-01-24T01:10:48Z
Message: Error 404 (Object Not Found): Not Found
Reason: FailedCreateOrUpdate
Status: False
Type: Ready
Credentials:
Name: tutorial-user-user-credentials
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulStatusUpdate 92s user-controller Successfully updated user status
Warning FailedDeclare 10s (x15 over 92s) user-controller failed to declare user
kubectl logs pod/messaging-topology-operator-f9c69d45b-xf62c -n rabbitmq-system
{"level":"info","ts":1642985902.2593372,"logger":"controller-runtime.manager.controller.queue","msg":"Start reconciling","reconciler group":"rabbitmq.com","reconciler kind":"Queue","name":"tutorial","namespace":"xxx","spec":"{\"name\":\"tutorial\",\"vhost\":\"/\",\"rabbitmqClusterReference\":{\"name\":\"rabbitmq\",\"namespace\":\"\"}}"}
{"level":"error","ts":1642985902.2618473,"logger":"controller-runtime.manager.controller.queue","msg":"failed to declare queue","reconciler group":"rabbitmq.com","reconciler kind":"Queue","name":"tutorial","namespace":"xxx","queue":"tutorial","error":"Error 404 (Object Not Found): Not Found","stacktrace":"github.com/rabbitmq/messaging-topology-operator/controllers.(*QueueReconciler).Reconcile\n\t/workspace/controllers/queue_controller.go:113\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:298\nsigs.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"}
{"level":"error","ts":1642985902.2669504,"logger":"controller-runtime.manager.controller.queue","msg":"Reconciler error","reconciler group":"rabbitmq.com","reconciler kind":"Queue","name":"tutorial","namespace":"xxx","error":"Error 404 (Object Not Found): 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"}
kubectl get all -n xxx
NAME READY STATUS RESTARTS AGE
pod/rabbitmq-server-0 1/1 Running 0 5m25s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/rabbitmq ClusterIP 10.107.239.163 <none> 5672/TCP,15672/TCP,15692/TCP 5m25s
service/rabbitmq-nodes ClusterIP None <none> 4369/TCP,25672/TCP 5m25s
NAME READY AGE
statefulset.apps/rabbitmq-server 1/1 5m25s
NAME ALLREPLICASREADY RECONCILESUCCESS AGE
rabbitmqcluster.rabbitmq.com/rabbitmq True True 5m25s
NAME AGE
user.rabbitmq.com/tutorial-user 4m11s
Expected behavior
Expect a user to be declared and be able to use the username/password to connect to the cluster
Version and environment information
- Messaging Topology Operator: [e.g. 0.1.0 or commit if building from source]
Image: rabbitmqoperator/cluster-operator:1.11.0
Image ID: docker-pullable://rabbitmqoperator/cluster-operator@sha256:2292f5ebac8982c2b9d9d8b75f15a4eee6774807ae625d23d1a8f91d703f9032
-
RabbitMQ: [e.g. 3.8.0]
Image: rabbitmq:3.8.21-management -
RabbitMQ Cluster Operator: [e.g. 1.1.0 or commit if building from source]
Image: rabbitmqoperator/cluster-operator:1.11.0
Image ID: docker-pullable://rabbitmqoperator/cluster-operator@sha256:2292f5ebac8982c2b9d9d8b75f15a4eee6774807ae625d23d1a8f91d703f9032 -
Kubernetes: [e.g. 1.18.0]
v1.22.5 on docker-desktop running on Windows 10
Maintainer note: edited title as per this comment