cluster: ensure ceph monitors are set when loading a config file #23

Merged
amery merged 2 commits from pr-amery-cluster into main 1 year ago
  1. 3
      .vscode/settings.json
  2. 6
      pkg/cluster/ceph_scan.go
  3. 1
      pkg/cluster/cluster_import.go

3
.vscode/settings.json vendored

@ -1,9 +1,12 @@
{ {
"cSpell.words": [ "cSpell.words": [
"asciigoat",
"ceph", "ceph",
"cyclomatic",
"darvaza", "darvaza",
"gofrs", "gofrs",
"jpictl", "jpictl",
"Wrapf",
"zerolog" "zerolog"
] ]
} }

6
pkg/cluster/ceph_scan.go

@ -71,7 +71,7 @@ func newCephScanTODO(cfg *ceph.Config) *cephScanTODO {
return todo return todo
} }
func (m *Cluster) scanCephMonitors(_ *ScanOptions) error { func (m *Cluster) scanCephMonitors(opts *ScanOptions) error {
cfg, err := m.GetCephConfig() cfg, err := m.GetCephConfig()
switch { switch {
case os.IsNotExist(err): case os.IsNotExist(err):
@ -94,6 +94,10 @@ func (m *Cluster) scanCephMonitors(_ *ScanOptions) error {
todo.LogMissing(m.log) todo.LogMissing(m.log)
} }
return m.initCephMonitors(opts)
}
func (m *Cluster) initCephMonitors(_ *ScanOptions) error {
// make sure every zone has one // make sure every zone has one
m.ForEachZone(func(z *Zone) bool { m.ForEachZone(func(z *Zone) bool {
_ = z.GetCephMonitors() _ = z.GetCephMonitors()

1
pkg/cluster/cluster_import.go

@ -14,6 +14,7 @@ func (m *Cluster) init(opts *ScanOptions) error {
m.scanZoneIDs, m.scanZoneIDs,
m.scanSort, m.scanSort,
m.scanGateways, m.scanGateways,
m.initCephMonitors,
m.initRegions, m.initRegions,
} { } {
if err := fn(opts); err != nil { if err := fn(opts); err != nil {

Loading…
Cancel
Save