zones: extend scan to ensure every zone has a ceph monitor

Signed-off-by: Alejandro Mery <amery@jpi.io>
This commit is contained in:
2023-09-05 11:03:53 +00:00
parent b772ec0a3d
commit cea8362fe6
+13 -6
View File
@@ -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
}