From 566add6ee3acc7eed355b764867d1a9f6fdaa5f3 Mon Sep 17 00:00:00 2001 From: parth-gr Date: Thu, 30 Sep 2021 17:45:55 +0530 Subject: [PATCH] ceph: fixing ClientID of log-collector for RGW instance The Client_ID generated by operator was different from the log rotate file created The Clinet_ID= rgwceph.client.rook.ceph.rgw.my.store.a and log file name= ceph-client.rgw.my.store.a.log So changed the CLient_ID to ceph-client.rgw.my.store.a for correct working and this follow the patterns how other modules Client_ID is generated Closes: https://github.com/rook/rook/issues/8692 Signed-off-by: parth-gr (cherry picked from commit fc7905a7bd37529c7e3e1be5e96bc3b2a507b543) --- pkg/operator/ceph/object/spec.go | 6 +++++- pkg/operator/ceph/object/spec_test.go | 30 +++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/pkg/operator/ceph/object/spec.go b/pkg/operator/ceph/object/spec.go index eadc3dbcd4f1..744ab7beab87 100644 --- a/pkg/operator/ceph/object/spec.go +++ b/pkg/operator/ceph/object/spec.go @@ -112,7 +112,7 @@ func (c *clusterConfig) makeRGWPodSpec(rgwConfig *rgwConfig) (v1.PodTemplateSpec if c.clusterSpec.LogCollector.Enabled { shareProcessNamespace := true podSpec.ShareProcessNamespace = &shareProcessNamespace - podSpec.Containers = append(podSpec.Containers, *controller.LogCollectorContainer(strings.TrimPrefix(generateCephXUser(fmt.Sprintf("ceph-client.%s", rgwConfig.ResourceName)), "client."), c.clusterInfo.Namespace, *c.clusterSpec)) + podSpec.Containers = append(podSpec.Containers, *controller.LogCollectorContainer(getDaemonName(rgwConfig), c.clusterInfo.Namespace, *c.clusterSpec)) } // Replace default unreachable node toleration @@ -612,3 +612,7 @@ func (c *clusterConfig) rgwTLSSecretType(secretName string) (v1.SecretType, erro } return "", errors.Wrapf(err, "no Kubernetes secrets referring TLS certificates found") } + +func getDaemonName(rgwConfig *rgwConfig) string { + return fmt.Sprintf("ceph-%s", generateCephXUser(rgwConfig.ResourceName)) +} diff --git a/pkg/operator/ceph/object/spec_test.go b/pkg/operator/ceph/object/spec_test.go index f47b7a2bc81c..1e21f4eae8b8 100644 --- a/pkg/operator/ceph/object/spec_test.go +++ b/pkg/operator/ceph/object/spec_test.go @@ -380,3 +380,33 @@ func TestCheckRGWKMS(t *testing.T) { assert.True(t, b) assert.NoError(t, err) } + +func TestGetDaemonName(t *testing.T) { + context := &clusterd.Context{Clientset: test.New(t, 3)} + store := simpleStore() + tests := []struct { + storeName string + testDaemonName string + daemonID string + }{ + {"default", "ceph-client.rgw.default.a", "a"}, + {"my-store", "ceph-client.rgw.my.store.b", "b"}, + } + for _, tt := range tests { + t.Run(tt.storeName, func(t *testing.T) { + c := &clusterConfig{ + context: context, + store: store, + } + c.store.Name = tt.storeName + daemonName := fmt.Sprintf("%s-%s", c.store.Name, tt.daemonID) + resourceName := fmt.Sprintf("%s-%s", AppName, daemonName) + rgwconfig := &rgwConfig{ + ResourceName: resourceName, + DaemonID: daemonName, + } + daemon := getDaemonName(rgwconfig) + assert.Equal(t, tt.testDaemonName, daemon) + }) + } +}