From cea8362fe6680187bdc77122739d4d1a7a5aaa98 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Tue, 5 Sep 2023 11:03:53 +0000 Subject: [PATCH] zones: extend scan to ensure every zone has a ceph monitor Signed-off-by: Alejandro Mery --- pkg/zones/ceph_scan.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pkg/zones/ceph_scan.go b/pkg/zones/ceph_scan.go index 724e24d..2180c09 100644 --- a/pkg/zones/ceph_scan.go +++ b/pkg/zones/ceph_scan.go @@ -53,7 +53,7 @@ func (err CephMissingMonitorError) Error() string { func (err *CephMissingMonitorError) writeNames(w *strings.Builder) { if len(err.Names) > 0 { - _, _ = w.WriteString(" mon_host:") + _, _ = w.WriteString(" mon_initial_members:") for i, name := range err.Names { if i != 0 { _, _ = w.WriteRune(',') @@ -64,12 +64,14 @@ func (err *CephMissingMonitorError) writeNames(w *strings.Builder) { } func (err *CephMissingMonitorError) writeAddrs(w *strings.Builder) { - _, _ = w.WriteString(" mon_initial_members:") - for i, addr := range err.Addrs { - if i != 0 { - _, _ = w.WriteRune(',') + if len(err.Addrs) > 0 { + _, _ = w.WriteString(" mon_host:") + for i, addr := range err.Addrs { + if i != 0 { + _, _ = w.WriteRune(',') + } + _, _ = w.WriteString(addr.String()) } - _, _ = w.WriteString(addr.String()) } } @@ -172,5 +174,10 @@ func (m *Zones) scanCephMonitors(_ *ScanOptions) error { } } + // make sure every zone has one + m.ForEachZone(func(z *Zone) bool { + _ = z.GetCephMonitors() + return false + }) return nil }