Compare commits

..

5 Commits

Author SHA1 Message Date
amery 3a1b00ad1b WIP
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 00:01:26 +00:00
amery 7564bdcc4d dns: introduce AddrRecord{} to abstract A/AAAA entries
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 00:01:26 +00:00
amery 3ff62a1ef4 vscode: add Lookuper, publicsuffix and libdns to the dictionary
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 00:01:12 +00:00
amery 7935a441d0 build-sys: use local asciigoat.org/ini
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 21:46:06 +00:00
amery 5791220c2e vscode: add asciigoat, cyclomatic and Wrapf to the dictionary
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 21:46:06 +00:00
6 changed files with 5 additions and 101 deletions
+1 -1
View File
@@ -37,5 +37,5 @@ func setVerbosity(_ *cobra.Command, _ []string) {
if desired > 6 {
desired = 6
}
log = zerolog.New(nil, slog.LogLevel(desired))
log = log.WithLevel(slog.LogLevel(desired))
}
+1 -5
View File
@@ -71,7 +71,7 @@ func newCephScanTODO(cfg *ceph.Config) *cephScanTODO {
return todo
}
func (m *Cluster) scanCephMonitors(opts *ScanOptions) error {
func (m *Cluster) scanCephMonitors(_ *ScanOptions) error {
cfg, err := m.GetCephConfig()
switch {
case os.IsNotExist(err):
@@ -94,10 +94,6 @@ func (m *Cluster) scanCephMonitors(opts *ScanOptions) error {
todo.LogMissing(m.log)
}
return m.initCephMonitors(opts)
}
func (m *Cluster) initCephMonitors(_ *ScanOptions) error {
// make sure every zone has one
m.ForEachZone(func(z *Zone) bool {
_ = z.GetCephMonitors()
+1 -2
View File
@@ -27,8 +27,7 @@ type Cluster struct {
Domain string `json:"domain,omitempty" yaml:"domain,omitempty"`
CephFSID uuid.UUID `json:"ceph_fsid,omitempty" yaml:"ceph_fsid,omitempty"`
Regions []Region `json:",omitempty" yaml:",omitempty"`
Zones []*Zone `json:",omitempty" yaml:",omitempty"`
Zones []*Zone `json:"zones,omitempty" yaml:"zones,omitempty"`
}
// revive:enable:line-length-limit
-2
View File
@@ -14,8 +14,6 @@ func (m *Cluster) init(opts *ScanOptions) error {
m.scanZoneIDs,
m.scanSort,
m.scanGateways,
m.initCephMonitors,
m.initRegions,
} {
if err := fn(opts); err != nil {
return err
-88
View File
@@ -1,88 +0,0 @@
package cluster
// Region represents a group of zones geographically related
type Region struct {
m *Cluster
zones []*Zone
Name string
Regions []string `json:",omitempty" yaml:",omitempty"`
}
func (m *Cluster) initRegions(_ *ScanOptions) error {
regions := make(map[string][]*Zone)
// first regions defined by zones
m.ForEachZone(func(z *Zone) bool {
for _, region := range z.Regions {
regions[region] = append(regions[region], z)
}
return false
})
// bind first level regions and their zones
for name, zones := range regions {
m.syncRegions(name, zones...)
}
// and combine zones to produce larger regions
for i := range m.Regions {
r := &m.Regions[i]
m.finishRegion(r)
}
return nil
}
func (m *Cluster) syncRegions(name string, zones ...*Zone) {
for _, r := range m.Regions {
if r.Name == name {
// found
r.m = m
r.zones = zones
return
}
}
// new
m.Regions = append(m.Regions, Region{
m: m,
zones: zones,
Name: name,
})
}
func (m *Cluster) finishRegion(r *Region) {
if r.m != nil {
// ready
return
}
r.m = m
sub := []string{}
for _, name := range r.Regions {
r2, ok := m.getRegion(name)
if !ok {
m.warn(nil).WithField("region", name).Print("unknown region")
continue
}
sub = append(sub, r2.Name)
r.zones = append(r.zones, r2.zones...)
}
r.Regions = sub
}
func (m *Cluster) getRegion(name string) (*Region, bool) {
for i := range m.Regions {
r := &m.Regions[i]
if name == r.Name {
m.finishRegion(r)
return r, true
}
}
return nil, false
}
+2 -3
View File
@@ -19,9 +19,8 @@ type Zone struct {
zones *Cluster
logger `json:"-" yaml:"-"`
ID int
Name string
Regions []string `json:",omitempty" yaml:",omitempty"`
ID int
Name string
Machines
}