From cc7526ceb544a20df1080ac9e438c0d073811d16 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 3149344..cc4372a 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()) } } @@ -170,5 +172,10 @@ func (m *Zones) scanCephMonitors(_ *ScanOptions) error { return core.Wrap(err, "ceph") } + // make sure every zone has one + m.ForEachZone(func(z *Zone) bool { + _ = z.GetCephMonitors() + return false + }) return nil }