From bd0908fe997d30b815557dc60ad1fe6aaefbd68c Mon Sep 17 00:00:00 2001 From: Coleen Iona Quadros Date: Sat, 7 Dec 2024 18:17:07 +0400 Subject: [PATCH 1/3] update Signed-off-by: Coleen Iona Quadros --- .../alertmanager/alertmanager-statefulset.yaml | 1 - .../pkg/rendering/renderer_alertmanager.go | 5 +++++ .../rendering/renderer_alertmanager_test.go | 18 ++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/operators/multiclusterobservability/manifests/base/alertmanager/alertmanager-statefulset.yaml b/operators/multiclusterobservability/manifests/base/alertmanager/alertmanager-statefulset.yaml index 7569a6da6..f0fe9f89e 100644 --- a/operators/multiclusterobservability/manifests/base/alertmanager/alertmanager-statefulset.yaml +++ b/operators/multiclusterobservability/manifests/base/alertmanager/alertmanager-statefulset.yaml @@ -42,7 +42,6 @@ spec: containers: - args: - --config.file=/etc/alertmanager/config/alertmanager.yaml - - --cluster.listen-address=[$(POD_IP)]:9094 - --storage.path=/alertmanager - --data.retention=120h - --web.listen-address=127.0.0.1:9093 diff --git a/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager.go b/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager.go index 188396eaa..54f5e1449 100644 --- a/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager.go +++ b/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager.go @@ -67,12 +67,17 @@ func (r *MCORenderer) renderAlertManagerStatefulSet(res *resource.Resource, if *dep.Spec.Replicas > 1 { for i := int32(0); i < *dep.Spec.Replicas; i++ { + args = append(args, "--cluster.listen-address=[$(POD_IP)]:9094") args = append(args, "--cluster.peer="+ mcoconfig.GetOperandName(mcoconfig.Alertmanager)+"-"+ strconv.Itoa(int(i))+".alertmanager-operated."+ mcoconfig.GetDefaultNamespace()+".svc:9094") } } + // ACM-13481 Disable HA mode for single replica + if *dep.Spec.Replicas == 1 { + args = append(args, "--cluster.listen-address=") + } spec.Containers[0].Args = args spec.Containers[0].Resources = mcoconfig.GetResources(mcoconfig.Alertmanager, r.cr.Spec.InstanceSize, r.cr.Spec.AdvancedConfig) diff --git a/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager_test.go b/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager_test.go index c04c4de91..1090f58c8 100644 --- a/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager_test.go +++ b/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager_test.go @@ -163,6 +163,24 @@ func TestAlertManagerRendererMCOConfig(t *testing.T) { assert.Equal(t, 3, count) }, }, + "one replica": { + mco: func() *mcov1beta2.MultiClusterObservability { + ret := makeBaseMco() + replicas := int32(1) + ret.Spec.AdvancedConfig = &mcov1beta2.AdvancedConfig{ + Alertmanager: &mcov1beta2.CommonSpec{ + Replicas: &replicas, + }, + }, + return ret + }, + expect: func(t *testing.T, sts *appsv1.StatefulSet) { + assert.Equal(t, int32(1), *sts.Spec.Replicas) + args := sts.Spec.Template.Spec.Containers[0].Args + assert.NotContains(t, args, "--cluster.peer") + assert.Contains(t, args, "--cluster.listen-address=") + }, + }, "resources": { mco: func() *mcov1beta2.MultiClusterObservability { ret := makeBaseMco() From fc8e762d7be18a1e7b08f874b8685b715ace7344 Mon Sep 17 00:00:00 2001 From: Coleen Iona Quadros Date: Sat, 7 Dec 2024 18:52:25 +0400 Subject: [PATCH 2/3] update Signed-off-by: Coleen Iona Quadros --- .../pkg/rendering/renderer_alertmanager_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager_test.go b/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager_test.go index 1090f58c8..2241686b4 100644 --- a/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager_test.go +++ b/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager_test.go @@ -170,8 +170,8 @@ func TestAlertManagerRendererMCOConfig(t *testing.T) { ret.Spec.AdvancedConfig = &mcov1beta2.AdvancedConfig{ Alertmanager: &mcov1beta2.CommonSpec{ Replicas: &replicas, - }, }, + } return ret }, expect: func(t *testing.T, sts *appsv1.StatefulSet) { From e4a7170f9703a3a4ad7539f942fa2ac9acf64cb5 Mon Sep 17 00:00:00 2001 From: Coleen Iona Quadros Date: Mon, 9 Dec 2024 11:08:01 +0100 Subject: [PATCH 3/3] update Signed-off-by: Coleen Iona Quadros --- .../pkg/rendering/renderer_alertmanager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager.go b/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager.go index 54f5e1449..31b2fc37b 100644 --- a/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager.go +++ b/operators/multiclusterobservability/pkg/rendering/renderer_alertmanager.go @@ -66,8 +66,8 @@ func (r *MCORenderer) renderAlertManagerStatefulSet(res *resource.Resource, args := spec.Containers[0].Args if *dep.Spec.Replicas > 1 { + args = append(args, "--cluster.listen-address=[$(POD_IP)]:9094") for i := int32(0); i < *dep.Spec.Replicas; i++ { - args = append(args, "--cluster.listen-address=[$(POD_IP)]:9094") args = append(args, "--cluster.peer="+ mcoconfig.GetOperandName(mcoconfig.Alertmanager)+"-"+ strconv.Itoa(int(i))+".alertmanager-operated."+