diff --git a/api/v1beta1/rabbitmqcluster_types.go b/api/v1beta1/rabbitmqcluster_types.go index f1beb661d..97837f38a 100644 --- a/api/v1beta1/rabbitmqcluster_types.go +++ b/api/v1beta1/rabbitmqcluster_types.go @@ -72,11 +72,11 @@ type RabbitmqClusterSpec struct { } type RabbitmqClusterOverrideSpec struct { - StatefulSet *StatefulSet `json:"statefulSet,omitempty"` - ClientService *ClientService `json:"clientService,omitempty"` + StatefulSet *StatefulSet `json:"statefulSet,omitempty"` + Service *Service `json:"service,omitempty"` } -type ClientService struct { +type Service struct { // +optional *EmbeddedLabelsAnnotations `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec defines the behavior of a service. @@ -151,7 +151,7 @@ type StatefulSetSpec struct { UpdateStrategy *appsv1.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty" protobuf:"bytes,7,opt,name=updateStrategy"` } -// It is used in ClientService and StatefulSet +// It is used in Service and StatefulSet type EmbeddedLabelsAnnotations struct { // Map of string keys and values that can be used to organize and categorize // (scope and select) objects. May match selectors of replication controllers @@ -277,12 +277,12 @@ type RabbitmqClusterPersistenceSpec struct { Storage *k8sresource.Quantity `json:"storage,omitempty"` } -// Settable attributes for the Client Service resource. +// Settable attributes for the Service resource. type RabbitmqClusterServiceSpec struct { // +kubebuilder:validation:Enum=ClusterIP;LoadBalancer;NodePort // +kubebuilder:default:="ClusterIP" Type corev1.ServiceType `json:"type,omitempty"` - // Annotations to add to the Client Service. + // Annotations to add to the Service. Annotations map[string]string `json:"annotations,omitempty"` } @@ -396,7 +396,7 @@ type RabbitmqClusterList struct { } func (cluster RabbitmqCluster) ChildResourceName(name string) string { - return strings.Join([]string{cluster.Name, "rabbitmq", name}, "-") + return strings.TrimSuffix(strings.Join([]string{cluster.Name, name}, "-"), "-") } func init() { diff --git a/api/v1beta1/rabbitmqcluster_types_test.go b/api/v1beta1/rabbitmqcluster_types_test.go index 341bf9c70..d4ac411e5 100644 --- a/api/v1beta1/rabbitmqcluster_types_test.go +++ b/api/v1beta1/rabbitmqcluster_types_test.go @@ -140,7 +140,7 @@ var _ = Describe("RabbitmqCluster", func() { Describe("ChildResourceName", func() { It("prefixes the passed string with the name of the RabbitmqCluster name", func() { resource := generateRabbitmqClusterObject("iam") - Expect(resource.ChildResourceName("great")).To(Equal("iam-rabbitmq-great")) + Expect(resource.ChildResourceName("great")).To(Equal("iam-great")) }) }) diff --git a/api/v1beta1/zz_generated.deepcopy.go b/api/v1beta1/zz_generated.deepcopy.go index 81298b800..351779361 100644 --- a/api/v1beta1/zz_generated.deepcopy.go +++ b/api/v1beta1/zz_generated.deepcopy.go @@ -22,31 +22,6 @@ import ( "k8s.io/apimachinery/pkg/runtime" ) -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClientService) DeepCopyInto(out *ClientService) { - *out = *in - if in.EmbeddedLabelsAnnotations != nil { - in, out := &in.EmbeddedLabelsAnnotations, &out.EmbeddedLabelsAnnotations - *out = new(EmbeddedLabelsAnnotations) - (*in).DeepCopyInto(*out) - } - if in.Spec != nil { - in, out := &in.Spec, &out.Spec - *out = new(v1.ServiceSpec) - (*in).DeepCopyInto(*out) - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientService. -func (in *ClientService) DeepCopy() *ClientService { - if in == nil { - return nil - } - out := new(ClientService) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *EmbeddedLabelsAnnotations) DeepCopyInto(out *EmbeddedLabelsAnnotations) { *out = *in @@ -260,9 +235,9 @@ func (in *RabbitmqClusterOverrideSpec) DeepCopyInto(out *RabbitmqClusterOverride *out = new(StatefulSet) (*in).DeepCopyInto(*out) } - if in.ClientService != nil { - in, out := &in.ClientService, &out.ClientService - *out = new(ClientService) + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(Service) (*in).DeepCopyInto(*out) } } @@ -440,6 +415,31 @@ func (in *RabbitmqClusterStatus) DeepCopy() *RabbitmqClusterStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Service) DeepCopyInto(out *Service) { + *out = *in + if in.EmbeddedLabelsAnnotations != nil { + in, out := &in.EmbeddedLabelsAnnotations, &out.EmbeddedLabelsAnnotations + *out = new(EmbeddedLabelsAnnotations) + (*in).DeepCopyInto(*out) + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = new(v1.ServiceSpec) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service. +func (in *Service) DeepCopy() *Service { + if in == nil { + return nil + } + out := new(Service) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *StatefulSet) DeepCopyInto(out *StatefulSet) { *out = *in diff --git a/charts/tsmgr/bind.yaml b/charts/tsmgr/bind.yaml index c6a5c4786..dfb7e6fc4 100644 --- a/charts/tsmgr/bind.yaml +++ b/charts/tsmgr/bind.yaml @@ -8,18 +8,18 @@ template: | local clientFilterFunc(j) = std.length(std.findSubstr("rabbitmq-client", j.name)) > 0; - local clientService = std.filter(clientFilterFunc, $.services)[0]; + local service = std.filter(clientFilterFunc, $.services)[0]; local secretFilterFunc(j) = std.length(std.findSubstr("rabbitmq-default-user", j.name)) > 0; local defaultUser = std.filter(secretFilterFunc, $.secrets); local vhost = "%2F"; - local ingress = if clientService.spec.type == "LoadBalancer" then - if std.objectHas(clientService.status.loadBalancer.ingress[0], "hostname") then - clientService.status.loadBalancer.ingress[0].hostname + local ingress = if service.spec.type == "LoadBalancer" then + if std.objectHas(service.status.loadBalancer.ingress[0], "hostname") then + service.status.loadBalancer.ingress[0].hostname else - clientService.status.loadBalancer.ingress[0].ip + service.status.loadBalancer.ingress[0].ip else - clientService.spec.clusterIP; + service.spec.clusterIP; local defaultUserUsername = defaultUser[0].data['username']; local defaultUserPassword = defaultUser[0].data['password']; local mgmtURI = "http://" + ingress + ":15672"; diff --git a/config/crd/bases/rabbitmq.com_rabbitmqclusters.yaml b/config/crd/bases/rabbitmq.com_rabbitmqclusters.yaml index fcd6a75ba..9eaf86639 100644 --- a/config/crd/bases/rabbitmq.com_rabbitmqclusters.yaml +++ b/config/crd/bases/rabbitmq.com_rabbitmqclusters.yaml @@ -663,7 +663,7 @@ spec: type: array override: properties: - clientService: + service: properties: metadata: properties: @@ -3700,12 +3700,12 @@ spec: service: default: type: ClusterIP - description: Settable attributes for the Client Service resource. + description: Settable attributes for the Service resource. properties: annotations: additionalProperties: type: string - description: Annotations to add to the Client Service. + description: Annotations to add to the Service. type: object type: default: ClusterIP diff --git a/controllers/rabbitmqcluster_controller.go b/controllers/rabbitmqcluster_controller.go index b51c36526..3b4ee4a5f 100644 --- a/controllers/rabbitmqcluster_controller.go +++ b/controllers/rabbitmqcluster_controller.go @@ -268,7 +268,7 @@ func (r *RabbitmqClusterReconciler) getChildResources(ctx context.Context, rmq r } if err := r.Client.Get(ctx, - types.NamespacedName{Name: rmq.ChildResourceName("client"), Namespace: rmq.Namespace}, + types.NamespacedName{Name: rmq.ChildResourceName(resource.ServiceSuffix), Namespace: rmq.Namespace}, endPoints); err != nil && !errors.IsNotFound(err) { return nil, err } else if errors.IsNotFound(err) { diff --git a/controllers/rabbitmqcluster_controller_test.go b/controllers/rabbitmqcluster_controller_test.go index 009a25726..cfe00c1b9 100644 --- a/controllers/rabbitmqcluster_controller_test.go +++ b/controllers/rabbitmqcluster_controller_test.go @@ -109,16 +109,16 @@ var _ = Describe("RabbitmqClusterController", func() { Expect(secret.OwnerReferences[0].Name).To(Equal(cluster.Name)) }) - By("creating a rabbitmq client service", func() { - svc := service(ctx, cluster, "client") - Expect(svc.Name).To(Equal(cluster.ChildResourceName("client"))) + By("creating a rabbitmq service", func() { + svc := service(ctx, cluster, "") + Expect(svc.Name).To(Equal(cluster.ChildResourceName(""))) Expect(svc.OwnerReferences[0].Name).To(Equal(cluster.Name)) Expect(svc.Spec.Type).To(Equal(corev1.ServiceTypeClusterIP)) }) By("creating a rabbitmq headless service", func() { - svc := service(ctx, cluster, "headless") - Expect(svc.Name).To(Equal(cluster.ChildResourceName("headless"))) + svc := service(ctx, cluster, "nodes") + Expect(svc.Name).To(Equal(cluster.ChildResourceName("nodes"))) Expect(svc.OwnerReferences[0].Name).To(Equal(cluster.Name)) }) @@ -148,8 +148,8 @@ var _ = Describe("RabbitmqClusterController", func() { By("recording SuccessfulCreate events for all child resources", func() { allEventMsgs := aggregateEventMsgs(ctx, cluster, "SuccessfulCreate") Expect(allEventMsgs).To(ContainSubstring("created resource %s of Type *v1.StatefulSet", cluster.ChildResourceName("server"))) - Expect(allEventMsgs).To(ContainSubstring("created resource %s of Type *v1.Service", cluster.ChildResourceName("client"))) - Expect(allEventMsgs).To(ContainSubstring("created resource %s of Type *v1.Service", cluster.ChildResourceName("headless"))) + Expect(allEventMsgs).To(ContainSubstring("created resource %s of Type *v1.Service", cluster.ChildResourceName(""))) + Expect(allEventMsgs).To(ContainSubstring("created resource %s of Type *v1.Service", cluster.ChildResourceName("nodes"))) Expect(allEventMsgs).To(ContainSubstring("created resource %s of Type *v1.ConfigMap", cluster.ChildResourceName("plugins-conf"))) Expect(allEventMsgs).To(ContainSubstring("created resource %s of Type *v1.ConfigMap", cluster.ChildResourceName("server-conf"))) Expect(allEventMsgs).To(ContainSubstring("created resource %s of Type *v1.Secret", cluster.ChildResourceName("erlang-cookie"))) @@ -183,7 +183,7 @@ var _ = Describe("RabbitmqClusterController", func() { }) It("adds annotations to child resources", func() { - headlessSvc := service(ctx, cluster, "headless") + headlessSvc := service(ctx, cluster, "nodes") Expect(headlessSvc.Annotations).Should(HaveKeyWithValue("my-annotation", "this-annotation")) sts := statefulSet(ctx, cluster) @@ -259,10 +259,10 @@ var _ = Describe("RabbitmqClusterController", func() { }) }) - Context("Client service configurations", func() { + Context("Service configurations", func() { AfterEach(func() { Expect(client.Delete(ctx, cluster)).To(Succeed()) - Expect(clientSet.CoreV1().Services(cluster.Namespace).Delete(ctx, cluster.ChildResourceName("client"), metav1.DeleteOptions{})) + Expect(clientSet.CoreV1().Services(cluster.Namespace).Delete(ctx, cluster.ChildResourceName(""), metav1.DeleteOptions{})) }) It("creates the service type and annotations as configured in instance spec", func() { @@ -277,7 +277,7 @@ var _ = Describe("RabbitmqClusterController", func() { Expect(client.Create(ctx, cluster)).To(Succeed()) - clientSvc := service(ctx, cluster, "client") + clientSvc := service(ctx, cluster, "") Expect(clientSvc.Spec.Type).Should(Equal(corev1.ServiceTypeLoadBalancer)) Expect(clientSvc.Annotations).Should(HaveKeyWithValue("annotations", "cr-annotation")) }) @@ -352,8 +352,8 @@ var _ = Describe("RabbitmqClusterController", func() { Context("Custom Resource updates", func() { var ( - clientServiceName string - stsName string + svcName string + stsName string ) BeforeEach(func() { cluster = &rabbitmqv1beta1.RabbitmqCluster{ @@ -362,7 +362,7 @@ var _ = Describe("RabbitmqClusterController", func() { Namespace: defaultNamespace, }, } - clientServiceName = cluster.ChildResourceName("client") + svcName = cluster.ChildResourceName("") stsName = cluster.ChildResourceName("server") Expect(client.Create(ctx, cluster)).To(Succeed()) @@ -380,14 +380,14 @@ var _ = Describe("RabbitmqClusterController", func() { })).To(Succeed()) Eventually(func() map[string]string { - clientServiceName := cluster.ChildResourceName("client") - service, _ := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, clientServiceName, metav1.GetOptions{}) - return service.Annotations + svcName := cluster.ChildResourceName("") + svc, _ := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, svcName, metav1.GetOptions{}) + return svc.Annotations }, 3).Should(HaveKeyWithValue("test-key", "test-value")) - // verify that SuccessfulUpdate event is recorded for the client service + // verify that SuccessfulUpdate event is recorded for the service Expect(aggregateEventMsgs(ctx, cluster, "SuccessfulUpdate")).To( - ContainSubstring("updated resource %s of Type *v1.Service", cluster.ChildResourceName("client"))) + ContainSubstring("updated resource %s of Type *v1.Service", cluster.ChildResourceName(""))) }) It("the CPU and memory requirements are updated", func() { @@ -452,7 +452,7 @@ var _ = Describe("RabbitmqClusterController", func() { })).To(Succeed()) Eventually(func() map[string]string { - service, err := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, clientServiceName, metav1.GetOptions{}) + service, err := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, svcName, metav1.GetOptions{}) Expect(err).NotTo(HaveOccurred()) return service.Labels }, 3).Should(HaveKeyWithValue("foo", "bar")) @@ -476,13 +476,13 @@ var _ = Describe("RabbitmqClusterController", func() { It("updates annotations for services", func() { Eventually(func() map[string]string { - service, err := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, cluster.ChildResourceName("headless"), metav1.GetOptions{}) + service, err := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, cluster.ChildResourceName("nodes"), metav1.GetOptions{}) Expect(err).NotTo(HaveOccurred()) return service.Annotations }, 3).Should(HaveKeyWithValue(annotationKey, annotationValue)) Eventually(func() map[string]string { - service, err := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, cluster.ChildResourceName("client"), metav1.GetOptions{}) + service, err := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, cluster.ChildResourceName(""), metav1.GetOptions{}) Expect(err).NotTo(HaveOccurred()) return service.Annotations }, 3).Should(HaveKeyWithValue(annotationKey, annotationValue)) @@ -570,7 +570,7 @@ var _ = Describe("RabbitmqClusterController", func() { })).To(Succeed()) Eventually(func() string { - service, err := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, cluster.ChildResourceName("client"), metav1.GetOptions{}) + service, err := clientSet.CoreV1().Services(cluster.Namespace).Get(ctx, cluster.ChildResourceName(""), metav1.GetOptions{}) Expect(err).NotTo(HaveOccurred()) return string(service.Spec.Type) }, 3).Should(Equal("NodePort")) @@ -623,7 +623,7 @@ var _ = Describe("RabbitmqClusterController", func() { Context("Recreate child resources after deletion", func() { var ( - clientServiceName string + svcName string headlessServiceName string stsName string configMapName string @@ -635,8 +635,8 @@ var _ = Describe("RabbitmqClusterController", func() { Namespace: defaultNamespace, }, } - clientServiceName = cluster.ChildResourceName("client") - headlessServiceName = cluster.ChildResourceName("headless") + svcName = cluster.ChildResourceName("") + headlessServiceName = cluster.ChildResourceName("nodes") stsName = cluster.ChildResourceName("server") configMapName = cluster.ChildResourceName("server-conf") @@ -652,15 +652,15 @@ var _ = Describe("RabbitmqClusterController", func() { oldConfMap, err := clientSet.CoreV1().ConfigMaps(defaultNamespace).Get(ctx, configMapName, metav1.GetOptions{}) Expect(err).NotTo(HaveOccurred()) - oldClientSvc := service(ctx, cluster, "client") + oldClientSvc := service(ctx, cluster, "") - oldHeadlessSvc := service(ctx, cluster, "headless") + oldHeadlessSvc := service(ctx, cluster, "nodes") oldSts := statefulSet(ctx, cluster) Expect(clientSet.AppsV1().StatefulSets(defaultNamespace).Delete(ctx, stsName, metav1.DeleteOptions{})).NotTo(HaveOccurred()) Expect(clientSet.CoreV1().ConfigMaps(defaultNamespace).Delete(ctx, configMapName, metav1.DeleteOptions{})).NotTo(HaveOccurred()) - Expect(clientSet.CoreV1().Services(defaultNamespace).Delete(ctx, clientServiceName, metav1.DeleteOptions{})).NotTo(HaveOccurred()) + Expect(clientSet.CoreV1().Services(defaultNamespace).Delete(ctx, svcName, metav1.DeleteOptions{})).NotTo(HaveOccurred()) Expect(clientSet.CoreV1().Services(defaultNamespace).Delete(ctx, headlessServiceName, metav1.DeleteOptions{})).NotTo(HaveOccurred()) Eventually(func() bool { @@ -672,7 +672,7 @@ var _ = Describe("RabbitmqClusterController", func() { }, 5).Should(BeTrue()) Eventually(func() bool { - clientSvc, err := clientSet.CoreV1().Services(defaultNamespace).Get(ctx, clientServiceName, metav1.GetOptions{}) + clientSvc, err := clientSet.CoreV1().Services(defaultNamespace).Get(ctx, svcName, metav1.GetOptions{}) if err != nil { return false } @@ -870,7 +870,7 @@ var _ = Describe("RabbitmqClusterController", func() { "app.kubernetes.io/part-of": "rabbitmq", })) - Expect(sts.Spec.ServiceName).To(Equal("rabbitmq-sts-override-rabbitmq-headless")) + Expect(sts.Spec.ServiceName).To(Equal("rabbitmq-sts-override-nodes")) Expect(sts.Spec.Selector.MatchLabels).To(Equal(map[string]string{ "app.kubernetes.io/name": "rabbitmq-sts-override", })) @@ -934,7 +934,7 @@ var _ = Describe("RabbitmqClusterController", func() { { Secret: &corev1.SecretProjection{ LocalObjectReference: corev1.LocalObjectReference{ - Name: "rabbitmq-sts-override-rabbitmq-default-user", + Name: "rabbitmq-sts-override-default-user", }, Items: []corev1.KeyToPath{ { @@ -955,7 +955,7 @@ var _ = Describe("RabbitmqClusterController", func() { ConfigMap: &corev1.ConfigMapVolumeSource{ DefaultMode: &defaultMode, LocalObjectReference: corev1.LocalObjectReference{ - Name: "rabbitmq-sts-override-rabbitmq-server-conf", + Name: "rabbitmq-sts-override-server-conf", }, }, }, @@ -966,7 +966,7 @@ var _ = Describe("RabbitmqClusterController", func() { ConfigMap: &corev1.ConfigMapVolumeSource{ DefaultMode: &defaultMode, LocalObjectReference: corev1.LocalObjectReference{ - Name: "rabbitmq-sts-override-rabbitmq-plugins-conf", + Name: "rabbitmq-sts-override-plugins-conf", }, }, }, @@ -989,7 +989,7 @@ var _ = Describe("RabbitmqClusterController", func() { VolumeSource: corev1.VolumeSource{ Secret: &corev1.SecretVolumeSource{ DefaultMode: &defaultMode, - SecretName: "rabbitmq-sts-override-rabbitmq-erlang-cookie", + SecretName: "rabbitmq-sts-override-erlang-cookie", }, }, }, @@ -1038,7 +1038,7 @@ var _ = Describe("RabbitmqClusterController", func() { }) }) - Context("Client Service Override", func() { + Context("Service Override", func() { BeforeEach(func() { cluster = &rabbitmqv1beta1.RabbitmqCluster{ @@ -1051,7 +1051,7 @@ var _ = Describe("RabbitmqClusterController", func() { Type: "LoadBalancer", }, Override: rabbitmqv1beta1.RabbitmqClusterOverrideSpec{ - ClientService: &rabbitmqv1beta1.ClientService{ + Service: &rabbitmqv1beta1.Service{ Spec: &corev1.ServiceSpec{ Ports: []corev1.ServicePort{ { @@ -1081,11 +1081,11 @@ var _ = Describe("RabbitmqClusterController", func() { waitForClusterDeletion(ctx, cluster, client) }) - It("creates a Client Service with the override applied", func() { + It("creates a Service with the override applied", func() { amqpTargetPort := intstr.IntOrString{IntVal: int32(5672)} managementTargetPort := intstr.IntOrString{IntVal: int32(15672)} additionalTargetPort := intstr.IntOrString{IntVal: int32(15535)} - svc := service(ctx, cluster, "client") + svc := service(ctx, cluster, "") Expect(svc.Spec.Type).To(Equal(corev1.ServiceTypeClusterIP)) Expect(svc.Spec.Ports).To(ConsistOf( corev1.ServicePort{ @@ -1114,11 +1114,11 @@ var _ = Describe("RabbitmqClusterController", func() { It("updates", func() { Expect(updateWithRetry(cluster, func(r *rabbitmqv1beta1.RabbitmqCluster) { - cluster.Spec.Override.ClientService.Spec.Type = "LoadBalancer" + cluster.Spec.Override.Service.Spec.Type = "LoadBalancer" })).To(Succeed()) Eventually(func() corev1.ServiceType { - svc := service(ctx, cluster, "client") + svc := service(ctx, cluster, "") return svc.Spec.Type }, 5).Should(Equal(corev1.ServiceTypeLoadBalancer)) }) diff --git a/controllers/reconcile_status.go b/controllers/reconcile_status.go index d58fcb648..ce9296cf0 100644 --- a/controllers/reconcile_status.go +++ b/controllers/reconcile_status.go @@ -12,7 +12,7 @@ func (r *RabbitmqClusterReconciler) setDefaultUserStatus(ctx context.Context, rm defaultUserStatus := &rabbitmqv1beta1.RabbitmqClusterDefaultUser{} serviceRef := &rabbitmqv1beta1.RabbitmqClusterServiceReference{ - Name: rmq.ChildResourceName("client"), + Name: rmq.ChildResourceName(""), Namespace: rmq.Namespace, } defaultUserStatus.ServiceReference = serviceRef diff --git a/controllers/reconcile_status_test.go b/controllers/reconcile_status_test.go index 8023cb110..aa0de50a0 100644 --- a/controllers/reconcile_status_test.go +++ b/controllers/reconcile_status_test.go @@ -52,7 +52,7 @@ var _ = Describe("Reconcile status", func() { Expect(secretRef.Keys).To(HaveKeyWithValue("username", "username")) Expect(secretRef.Keys).To(HaveKeyWithValue("password", "password")) - By("setting the client service details") + By("setting the service details") rmq = &rabbitmqv1beta1.RabbitmqCluster{} serviceRef := &rabbitmqv1beta1.RabbitmqClusterServiceReference{} Eventually(func() *rabbitmqv1beta1.RabbitmqClusterServiceReference { @@ -69,7 +69,7 @@ var _ = Describe("Reconcile status", func() { return nil }, 5).ShouldNot(BeNil()) - Expect(serviceRef.Name).To(Equal(rmq.ChildResourceName("client"))) + Expect(serviceRef.Name).To(Equal(rmq.ChildResourceName(""))) Expect(serviceRef.Namespace).To(Equal(rmq.Namespace)) }) }) diff --git a/docs/examples/additionalPorts/README.md b/docs/examples/additionalPorts/README.md index ecbf77e76..e6c3ed060 100644 --- a/docs/examples/additionalPorts/README.md +++ b/docs/examples/additionalPorts/README.md @@ -1,10 +1,10 @@ # Additional Port Example -You can leverage the Client Service override (`spec.override.clientService`) and the StatefulSet override (`spec.override.statefulSet`) to modify any property of the Client Service and StatefulSet deployed as part of a RabbitmqCluster instance. +You can leverage the Service override (`spec.override.service`) and the StatefulSet override (`spec.override.statefulSet`) to modify any property of the Service and StatefulSet deployed as part of a RabbitmqCluster instance. -`spec.override.statefulSet` is in the format of appsv1.StatefulSet; and `spec.override.clientService` is in the format of corev1.Service. When provided, both overrides will be applied as patches using kubernetes [Strategic Merge Patch](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/strategic-merge-patch.md). +`spec.override.statefulSet` is in the format of appsv1.StatefulSet; and `spec.override.service` is in the format of corev1.Service. When provided, both overrides will be applied as patches using kubernetes [Strategic Merge Patch](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/strategic-merge-patch.md). -The example rabbitmqcluster manifests defines an additional port on the Client Service and the `rabbitmq` container itself. +The example rabbitmqcluster manifests defines an additional port on the Service and the `rabbitmq` container itself. ```shell diff --git a/docs/examples/additionalPorts/rabbitmq.yaml b/docs/examples/additionalPorts/rabbitmq.yaml index 8702012ba..0ba05b820 100644 --- a/docs/examples/additionalPorts/rabbitmq.yaml +++ b/docs/examples/additionalPorts/rabbitmq.yaml @@ -5,10 +5,10 @@ metadata: spec: replicas: 1 override: - clientService: + service: spec: ports: - - name: additional-port # adds an additional port on the client service + - name: additional-port # adds an additional port on the service protocol: TCP port: 12345 targetPort: 12345 diff --git a/docs/examples/federation-over-tls/setup.sh b/docs/examples/federation-over-tls/setup.sh index 2cfd31c12..298a4974b 100755 --- a/docs/examples/federation-over-tls/setup.sh +++ b/docs/examples/federation-over-tls/setup.sh @@ -5,17 +5,17 @@ kubectl apply -f downstream.yaml sleep 2 -kubectl wait --for=condition=Ready pod/upstream-rabbitmq-server-0 -kubectl wait --for=condition=Ready pod/downstream-rabbitmq-server-0 +kubectl wait --for=condition=Ready pod/upstream-server-0 +kubectl wait --for=condition=Ready pod/downstream-server-0 -UPSTREAM_USERNAME=$(kubectl get secret upstream-rabbitmq-default-user -o jsonpath="{.data.username}" | base64 --decode) -UPSTREAM_PASSWORD=$(kubectl get secret upstream-rabbitmq-default-user -o jsonpath="{.data.password}" | base64 --decode) -DOWNSTREAM_USERNAME=$(kubectl get secret downstream-rabbitmq-default-user -o jsonpath="{.data.username}" | base64 --decode) -DOWNSTREAM_PASSWORD=$(kubectl get secret downstream-rabbitmq-default-user -o jsonpath="{.data.password}" | base64 --decode) +UPSTREAM_USERNAME=$(kubectl get secret upstream-default-user -o jsonpath="{.data.username}" | base64 --decode) +UPSTREAM_PASSWORD=$(kubectl get secret upstream-default-user -o jsonpath="{.data.password}" | base64 --decode) +DOWNSTREAM_USERNAME=$(kubectl get secret downstream-default-user -o jsonpath="{.data.username}" | base64 --decode) +DOWNSTREAM_PASSWORD=$(kubectl get secret downstream-default-user -o jsonpath="{.data.password}" | base64 --decode) -kubectl exec downstream-rabbitmq-server-0 -- rabbitmqctl set_parameter federation-upstream my-upstream "{\"uri\":\"amqps://${UPSTREAM_USERNAME}:${UPSTREAM_PASSWORD}@upstream-rabbitmq-client\",\"expires\":3600001}" +kubectl exec downstream-server-0 -- rabbitmqctl set_parameter federation-upstream my-upstream "{\"uri\":\"amqps://${UPSTREAM_USERNAME}:${UPSTREAM_PASSWORD}@upstream\",\"expires\":3600001}" -kubectl exec downstream-rabbitmq-server-0 -- rabbitmqctl set_policy --apply-to exchanges federate-me "^amq\." '{"federation-upstream-set":"all"}' +kubectl exec downstream-server-0 -- rabbitmqctl set_policy --apply-to exchanges federate-me "^amq\." '{"federation-upstream-set":"all"}' echo "**********************************************************" echo "* PLEASE RUN 'sudo kubefwd svc' TO START PORT FORWARDING *" @@ -23,8 +23,8 @@ echo "* and press ENTER when ready *" echo "**********************************************************" read -UPSTREAM_RABBITMQADMIN="rabbitmqadmin -U http://upstream-rabbitmq-client/ -u ${UPSTREAM_USERNAME} -p ${UPSTREAM_PASSWORD} -V /" -DOWNSTREAM_RABBITMQADMIN="rabbitmqadmin -U http://downstream-rabbitmq-client/ -u ${DOWNSTREAM_USERNAME} -p ${DOWNSTREAM_PASSWORD} -V /" +UPSTREAM_RABBITMQADMIN="rabbitmqadmin -U http://upstream/ -u ${UPSTREAM_USERNAME} -p ${UPSTREAM_PASSWORD} -V /" +DOWNSTREAM_RABBITMQADMIN="rabbitmqadmin -U http://downstream/ -u ${DOWNSTREAM_USERNAME} -p ${DOWNSTREAM_PASSWORD} -V /" $UPSTREAM_RABBITMQADMIN declare queue name=test.queue queue_type=quorum $UPSTREAM_RABBITMQADMIN declare binding source=amq.fanout destination=test.queue diff --git a/hack/crd-patch.json b/hack/crd-patch.json index bff76920a..4c8b6d722 100644 --- a/hack/crd-patch.json +++ b/hack/crd-patch.json @@ -1,5 +1,5 @@ [ { "op": "replace", "path": "/spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/override/properties/statefulSet/properties/spec/properties/template/properties/spec/properties/containers/items/properties/ports/items/required", "value": [ "containerPort", "protocol"]}, - { "op": "replace", "path": "/spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/override/properties/clientService/properties/spec/properties/ports/items/required", "value": [ "port", "protocol"]}, + { "op": "replace", "path": "/spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/override/properties/service/properties/spec/properties/ports/items/required", "value": [ "port", "protocol"]}, { "op": "replace", "path": "/spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/override/properties/statefulSet/properties/spec/properties/template/properties/spec/properties/initContainers/items/properties/ports/items/required", "value": [ "containerPort", "protocol"]}, ] diff --git a/internal/resource/headless_service.go b/internal/resource/headless_service.go index 23f12de9b..c5e133f9e 100644 --- a/internal/resource/headless_service.go +++ b/internal/resource/headless_service.go @@ -22,7 +22,7 @@ import ( ) const ( - headlessServiceName = "headless" + headlessServiceSuffix = "nodes" ) type HeadlessServiceBuilder struct { @@ -40,7 +40,7 @@ func (builder *RabbitmqResourceBuilder) HeadlessService() *HeadlessServiceBuilde func (builder *HeadlessServiceBuilder) Build() (runtime.Object, error) { return &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ - Name: builder.Instance.ChildResourceName(headlessServiceName), + Name: builder.Instance.ChildResourceName(headlessServiceSuffix), Namespace: builder.Instance.Namespace, }, }, nil diff --git a/internal/resource/headless_service_test.go b/internal/resource/headless_service_test.go index 28c5c731a..26febd892 100644 --- a/internal/resource/headless_service_test.go +++ b/internal/resource/headless_service_test.go @@ -50,7 +50,7 @@ var _ = Describe("HeadlessService", func() { service = obj.(*corev1.Service) }) It("generates a service object with the correct name", func() { - Expect(service.Name).To(Equal(instance.ChildResourceName("headless"))) + Expect(service.Name).To(Equal(instance.ChildResourceName("nodes"))) }) It("generates a service object with the correct namespace", func() { diff --git a/internal/resource/rabbitmq_resource_builder.go b/internal/resource/rabbitmq_resource_builder.go index 6b87d58a8..39f5d4932 100644 --- a/internal/resource/rabbitmq_resource_builder.go +++ b/internal/resource/rabbitmq_resource_builder.go @@ -27,7 +27,7 @@ type ResourceBuilder interface { func (builder *RabbitmqResourceBuilder) ResourceBuilders() ([]ResourceBuilder, error) { return []ResourceBuilder{ builder.HeadlessService(), - builder.ClientService(), + builder.Service(), builder.ErlangCookie(), builder.DefaultUserSecret(), builder.RabbitmqPluginsConfigMap(), diff --git a/internal/resource/rabbitmq_resource_builder_test.go b/internal/resource/rabbitmq_resource_builder_test.go index 15b3febd7..7d840b3f5 100644 --- a/internal/resource/rabbitmq_resource_builder_test.go +++ b/internal/resource/rabbitmq_resource_builder_test.go @@ -53,7 +53,7 @@ var _ = Describe("RabbitmqResourceBuilder", func() { expectedBuildersInOrder := []ResourceBuilder{ &HeadlessServiceBuilder{}, - &ClientServiceBuilder{}, + &ServiceBuilder{}, &ErlangCookieBuilder{}, &DefaultUserSecretBuilder{}, &RabbitmqPluginsConfigMapBuilder{}, diff --git a/internal/resource/role_binding_test.go b/internal/resource/role_binding_test.go index 40daf6115..cd7b5e8fb 100644 --- a/internal/resource/role_binding_test.go +++ b/internal/resource/role_binding_test.go @@ -137,12 +137,12 @@ var _ = Describe("RoleBinding", func() { expectedRoleRef := rbacv1.RoleRef{ APIGroup: "rbac.authorization.k8s.io", Kind: "Role", - Name: "rabbit-rolebinding-rabbitmq-peer-discovery", + Name: "rabbit-rolebinding-peer-discovery", } expectedSubjects := []rbacv1.Subject{ { Kind: "ServiceAccount", - Name: "rabbit-rolebinding-rabbitmq-server", + Name: "rabbit-rolebinding-server", }, } diff --git a/internal/resource/client_service.go b/internal/resource/service.go similarity index 83% rename from internal/resource/client_service.go rename to internal/resource/service.go index 7d5a36f8c..b3d58cd83 100644 --- a/internal/resource/client_service.go +++ b/internal/resource/service.go @@ -24,28 +24,32 @@ import ( "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" ) -type ClientServiceBuilder struct { +const ( + ServiceSuffix = "" +) + +type ServiceBuilder struct { Instance *rabbitmqv1beta1.RabbitmqCluster Scheme *runtime.Scheme } -func (builder *RabbitmqResourceBuilder) ClientService() *ClientServiceBuilder { - return &ClientServiceBuilder{ +func (builder *RabbitmqResourceBuilder) Service() *ServiceBuilder { + return &ServiceBuilder{ Instance: builder.Instance, Scheme: builder.Scheme, } } -func (builder *ClientServiceBuilder) Build() (runtime.Object, error) { +func (builder *ServiceBuilder) Build() (runtime.Object, error) { return &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ - Name: builder.Instance.ChildResourceName("client"), + Name: builder.Instance.ChildResourceName(ServiceSuffix), Namespace: builder.Instance.Namespace, }, }, nil } -func (builder *ClientServiceBuilder) Update(object runtime.Object) error { +func (builder *ServiceBuilder) Update(object runtime.Object) error { service := object.(*corev1.Service) builder.setAnnotations(service) service.Labels = metadata.GetLabels(builder.Instance.Name, builder.Instance.Labels) @@ -60,9 +64,9 @@ func (builder *ClientServiceBuilder) Update(object runtime.Object) error { } } - if builder.Instance.Spec.Override.ClientService != nil { - if err := applySvcOverride(service, builder.Instance.Spec.Override.ClientService); err != nil { - return fmt.Errorf("failed applying Client Service override: %v", err) + if builder.Instance.Spec.Override.Service != nil { + if err := applySvcOverride(service, builder.Instance.Spec.Override.Service); err != nil { + return fmt.Errorf("failed applying Service override: %v", err) } } @@ -73,7 +77,7 @@ func (builder *ClientServiceBuilder) Update(object runtime.Object) error { return nil } -func applySvcOverride(svc *corev1.Service, override *rabbitmqv1beta1.ClientService) error { +func applySvcOverride(svc *corev1.Service, override *rabbitmqv1beta1.Service) error { if override.EmbeddedLabelsAnnotations != nil { copyLabelsAnnotations(&svc.ObjectMeta, *override.EmbeddedLabelsAnnotations) } @@ -81,23 +85,23 @@ func applySvcOverride(svc *corev1.Service, override *rabbitmqv1beta1.ClientServi if override.Spec != nil { originalSvcSpec, err := json.Marshal(svc.Spec) if err != nil { - return fmt.Errorf("error marshalling Client ServiceSpec: %v", err) + return fmt.Errorf("error marshalling Service Spec: %v", err) } patch, err := json.Marshal(override.Spec) if err != nil { - return fmt.Errorf("error marshalling Client ServiceSpec override: %v", err) + return fmt.Errorf("error marshalling Service Spec override: %v", err) } patchedJSON, err := strategicpatch.StrategicMergePatch(originalSvcSpec, patch, corev1.ServiceSpec{}) if err != nil { - return fmt.Errorf("error patching CLient ServiceSpec: %v", err) + return fmt.Errorf("error patching Service Spec: %v", err) } patchedSvcSpec := corev1.ServiceSpec{} err = json.Unmarshal(patchedJSON, &patchedSvcSpec) if err != nil { - return fmt.Errorf("error unmarshalling patched Client ServiceSpec: %v", err) + return fmt.Errorf("error unmarshalling patched Service Spec: %v", err) } svc.Spec = patchedSvcSpec } @@ -105,7 +109,7 @@ func applySvcOverride(svc *corev1.Service, override *rabbitmqv1beta1.ClientServi return nil } -func (builder *ClientServiceBuilder) updatePorts(servicePorts []corev1.ServicePort) []corev1.ServicePort { +func (builder *ServiceBuilder) updatePorts(servicePorts []corev1.ServicePort) []corev1.ServicePort { servicePortsMap := map[string]corev1.ServicePort{ "amqp": { Protocol: corev1.ProtocolTCP, @@ -180,7 +184,7 @@ func (builder *ClientServiceBuilder) updatePorts(servicePorts []corev1.ServicePo } -func (builder *ClientServiceBuilder) setAnnotations(service *corev1.Service) { +func (builder *ServiceBuilder) setAnnotations(service *corev1.Service) { if builder.Instance.Spec.Service.Annotations != nil { service.Annotations = metadata.ReconcileAnnotations(metadata.ReconcileAndFilterAnnotations(service.Annotations, builder.Instance.Annotations), builder.Instance.Spec.Service.Annotations) } else { diff --git a/internal/resource/client_service_test.go b/internal/resource/service_test.go similarity index 95% rename from internal/resource/client_service_test.go rename to internal/resource/service_test.go index f0f3783f1..8c304569d 100644 --- a/internal/resource/client_service_test.go +++ b/internal/resource/service_test.go @@ -23,7 +23,7 @@ import ( defaultscheme "k8s.io/client-go/kubernetes/scheme" ) -var _ = Context("ClientServices", func() { +var _ = Context("Services", func() { var ( instance rabbitmqv1beta1.RabbitmqCluster builder resource.RabbitmqResourceBuilder @@ -43,13 +43,13 @@ var _ = Context("ClientServices", func() { }) It("Builds using the values from the CR", func() { - serviceBuilder := builder.ClientService() + serviceBuilder := builder.Service() obj, err := serviceBuilder.Build() Expect(err).NotTo(HaveOccurred()) service := obj.(*corev1.Service) By("generates a service object with the correct name and labels", func() { - expectedName := instance.ChildResourceName("client") + expectedName := instance.Name Expect(service.Name).To(Equal(expectedName)) }) @@ -85,7 +85,7 @@ var _ = Context("ClientServices", func() { }, } builder.Instance = instance - serviceBuilder := builder.ClientService() + serviceBuilder := builder.Service() svc := &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ Name: "foo-service", @@ -202,11 +202,11 @@ var _ = Context("ClientServices", func() { Context("Labels", func() { var ( - serviceBuilder *resource.ClientServiceBuilder + serviceBuilder *resource.ServiceBuilder svc *corev1.Service ) BeforeEach(func() { - serviceBuilder = builder.ClientService() + serviceBuilder = builder.Service() instance = rabbitmqv1beta1.RabbitmqCluster{ ObjectMeta: metav1.ObjectMeta{ Name: "rabbit-labelled", @@ -251,11 +251,11 @@ var _ = Context("ClientServices", func() { Context("Service Type", func() { var ( svc *corev1.Service - serviceBuilder *resource.ClientServiceBuilder + serviceBuilder *resource.ServiceBuilder ) BeforeEach(func() { - serviceBuilder = builder.ClientService() + serviceBuilder = builder.Service() instance = generateRabbitmqCluster() svc = &corev1.Service{ @@ -438,11 +438,11 @@ var _ = Context("ClientServices", func() { When("Override is provided", func() { var ( svc *corev1.Service - serviceBuilder *resource.ClientServiceBuilder + serviceBuilder *resource.ServiceBuilder ) BeforeEach(func() { - serviceBuilder = builder.ClientService() + serviceBuilder = builder.Service() instance = generateRabbitmqCluster() svc = &corev1.Service{ @@ -453,8 +453,8 @@ var _ = Context("ClientServices", func() { } }) - It("overrides clientService.ObjectMeta", func() { - instance.Spec.Override.ClientService = &rabbitmqv1beta1.ClientService{ + It("overrides Service.ObjectMeta", func() { + instance.Spec.Override.Service = &rabbitmqv1beta1.Service{ EmbeddedLabelsAnnotations: &rabbitmqv1beta1.EmbeddedLabelsAnnotations{ Labels: map[string]string{ "new-label-key": "new-label-value", @@ -479,7 +479,7 @@ var _ = Context("ClientServices", func() { It("overrides ServiceSpec", func() { var IPv4 corev1.IPFamily = "IPv4" ten := int32(10) - instance.Spec.Override.ClientService = &rabbitmqv1beta1.ClientService{ + instance.Spec.Override.Service = &rabbitmqv1beta1.Service{ Spec: &corev1.ServiceSpec{ Ports: []corev1.ServicePort{ { @@ -546,7 +546,7 @@ var _ = Context("ClientServices", func() { It("ensures override takes precedence when same property is set both at the top level and at the override level", func() { instance.Spec.Service.Type = "LoadBalancer" - instance.Spec.Override.ClientService = &rabbitmqv1beta1.ClientService{ + instance.Spec.Override.Service = &rabbitmqv1beta1.Service{ Spec: &corev1.ServiceSpec{ Type: corev1.ServiceTypeNodePort, }, @@ -575,7 +575,7 @@ func updateServiceWithAnnotations(rmqBuilder resource.RabbitmqResourceBuilder, i } rmqBuilder.Instance = instance - serviceBuilder := rmqBuilder.ClientService() + serviceBuilder := rmqBuilder.Service() svc := &corev1.Service{ ObjectMeta: metav1.ObjectMeta{ Name: "foo-service", diff --git a/internal/resource/statefulset.go b/internal/resource/statefulset.go index 5398db69e..dc0ab89f2 100644 --- a/internal/resource/statefulset.go +++ b/internal/resource/statefulset.go @@ -59,7 +59,7 @@ func (builder *StatefulSetBuilder) Build() (runtime.Object, error) { Namespace: builder.Instance.Namespace, }, Spec: appsv1.StatefulSetSpec{ - ServiceName: builder.Instance.ChildResourceName(headlessServiceName), + ServiceName: builder.Instance.ChildResourceName(headlessServiceSuffix), Selector: &metav1.LabelSelector{ MatchLabels: metadata.LabelSelector(builder.Instance.Name), }, @@ -631,7 +631,7 @@ func (builder *StatefulSetBuilder) podTemplateSpec(annotations, labels map[strin }, { Name: "K8S_SERVICE_NAME", - Value: builder.Instance.ChildResourceName("headless"), + Value: builder.Instance.ChildResourceName(headlessServiceSuffix), }, { Name: "RABBITMQ_USE_LONGNAME", diff --git a/internal/resource/statefulset_test.go b/internal/resource/statefulset_test.go index 079800c9b..1038ba614 100644 --- a/internal/resource/statefulset_test.go +++ b/internal/resource/statefulset_test.go @@ -54,7 +54,7 @@ var _ = Describe("StatefulSet", func() { Expect(err).NotTo(HaveOccurred()) sts := obj.(*appsv1.StatefulSet) - Expect(sts.Name).To(Equal("foo-rabbitmq-server")) + Expect(sts.Name).To(Equal("foo-server")) Expect(sts.Namespace).To(Equal("foo-namespace")) }) @@ -63,7 +63,7 @@ var _ = Describe("StatefulSet", func() { Expect(err).NotTo(HaveOccurred()) statefulSet := obj.(*appsv1.StatefulSet) - Expect(statefulSet.Spec.ServiceName).To(Equal(instance.ChildResourceName("headless"))) + Expect(statefulSet.Spec.ServiceName).To(Equal(instance.ChildResourceName("nodes"))) }) It("adds the correct label selector", func() { obj, err := stsBuilder.Build() @@ -782,7 +782,7 @@ var _ = Describe("StatefulSet", func() { }, { Name: "K8S_SERVICE_NAME", - Value: instance.ChildResourceName("headless"), + Value: instance.ChildResourceName("nodes"), }, { Name: "RABBITMQ_USE_LONGNAME", @@ -1366,7 +1366,7 @@ var _ = Describe("StatefulSet", func() { }, corev1.EnvVar{ Name: "K8S_SERVICE_NAME", - Value: instance.ChildResourceName("headless"), + Value: instance.ChildResourceName("nodes"), }, corev1.EnvVar{ Name: "RABBITMQ_USE_LONGNAME", @@ -1480,7 +1480,7 @@ var _ = Describe("StatefulSet", func() { Expect(extractContainer(statefulSet.Spec.Template.Spec.Containers, "rabbitmq").Env[2]).To(Equal( corev1.EnvVar{ Name: "K8S_SERVICE_NAME", - Value: "foo-rabbitmq-headless", + Value: "foo-nodes", })) Expect(extractContainer(statefulSet.Spec.Template.Spec.Containers, "rabbitmq").Env).To(ConsistOf( corev1.EnvVar{ @@ -1507,7 +1507,7 @@ var _ = Describe("StatefulSet", func() { }, corev1.EnvVar{ Name: "K8S_SERVICE_NAME", - Value: instance.ChildResourceName("headless"), + Value: instance.ChildResourceName("nodes"), }, corev1.EnvVar{ Name: "RABBITMQ_USE_LONGNAME", diff --git a/internal/status/cluster_available.go b/internal/status/cluster_available.go index 32fe511b9..0b104ce84 100644 --- a/internal/status/cluster_available.go +++ b/internal/status/cluster_available.go @@ -50,7 +50,7 @@ func ClusterAvailableCondition(resources []runtime.Object, condition.Status = corev1.ConditionFalse condition.Reason = "NoEndpointsAvailable" - condition.Message = "The client service has no endpoints available" + condition.Message = "The service has no endpoints available" } } diff --git a/system_tests/utils.go b/system_tests/utils.go index f2fb1398e..31337c503 100644 --- a/system_tests/utils.go +++ b/system_tests/utils.go @@ -363,19 +363,19 @@ type HealthcheckResponse struct { } func getUsernameAndPassword(ctx context.Context, clientset *kubernetes.Clientset, namespace, instanceName string) (string, string, error) { - secret, err := clientset.CoreV1().Secrets(namespace).Get(ctx, fmt.Sprintf("%s-rabbitmq-default-user", instanceName), metav1.GetOptions{}) + secret, err := clientset.CoreV1().Secrets(namespace).Get(ctx, fmt.Sprintf("%s-default-user", instanceName), metav1.GetOptions{}) if err != nil { return "", "", err } username, ok := secret.Data["username"] if !ok { - return "", "", fmt.Errorf("cannot find 'username' in %s-rabbitmq-default-user", instanceName) + return "", "", fmt.Errorf("cannot find 'username' in %s-default-user", instanceName) } password, ok := secret.Data["password"] if !ok { - return "", "", fmt.Errorf("cannot find 'password' in %s-rabbitmq-default-user", instanceName) + return "", "", fmt.Errorf("cannot find 'password' in %s-default-user", instanceName) } return string(username), string(password), nil } @@ -455,7 +455,7 @@ func kubernetesNodeIp(ctx context.Context, clientSet *kubernetes.Clientset) stri func rabbitmqNodePort(ctx context.Context, clientSet *kubernetes.Clientset, cluster *rabbitmqv1beta1.RabbitmqCluster, portName string) string { service, err := clientSet.CoreV1().Services(cluster.Namespace). - Get(ctx, cluster.ChildResourceName("client"), metav1.GetOptions{}) + Get(ctx, cluster.ChildResourceName(""), metav1.GetOptions{}) ExpectWithOffset(1, err).NotTo(HaveOccurred())