Compare commits
4 Commits
24645a2879
..
v0.8.6
| Author | SHA1 | Date | |
|---|---|---|---|
| 4345a17d9a | |||
| 01ef75a020 | |||
| d0efcbaa74 | |||
| 7f5d48b2b0 |
@@ -4,7 +4,7 @@ go 1.19
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
asciigoat.org/ini v0.2.5
|
asciigoat.org/ini v0.2.5
|
||||||
darvaza.org/core v0.14.1
|
darvaza.org/core v0.14.2
|
||||||
darvaza.org/resolver v0.9.2
|
darvaza.org/resolver v0.9.2
|
||||||
darvaza.org/sidecar v0.4.0
|
darvaza.org/sidecar v0.4.0
|
||||||
darvaza.org/slog v0.5.7
|
darvaza.org/slog v0.5.7
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ asciigoat.org/ini v0.2.5 h1:4gRIp9rU+XQt8+HMqZO5R7GavMv9Yl2+N+je6djDIAE=
|
|||||||
asciigoat.org/ini v0.2.5/go.mod h1:gmXzJ9XFqf1NLk5nQkj04USQ4tMtdRJHNQX6vp3DzjU=
|
asciigoat.org/ini v0.2.5/go.mod h1:gmXzJ9XFqf1NLk5nQkj04USQ4tMtdRJHNQX6vp3DzjU=
|
||||||
darvaza.org/cache/x/simplelru v0.1.8 h1:rvFucut4wKYbsYc994yR3P0M08NqlsvZxr5G4QK82tw=
|
darvaza.org/cache/x/simplelru v0.1.8 h1:rvFucut4wKYbsYc994yR3P0M08NqlsvZxr5G4QK82tw=
|
||||||
darvaza.org/cache/x/simplelru v0.1.8/go.mod h1:Mv1isOJTcXYK+aK0AvUe+/3KpRTXDsYga6rdTS/upNs=
|
darvaza.org/cache/x/simplelru v0.1.8/go.mod h1:Mv1isOJTcXYK+aK0AvUe+/3KpRTXDsYga6rdTS/upNs=
|
||||||
darvaza.org/core v0.14.1 h1:PJXoG4u5gMx8G3zs7VcAIN6bmWTi1yp8vpuikPvDucQ=
|
darvaza.org/core v0.14.2 h1:6p0iznuGfVGbBp+CnkZTw1b76j6Q/j4ffDztZXrrlK8=
|
||||||
darvaza.org/core v0.14.1/go.mod h1:C+B0GRNLB+/asGfxjQ9XZERdk7xaFxzt5xTIBPiNm2M=
|
darvaza.org/core v0.14.2/go.mod h1:C+B0GRNLB+/asGfxjQ9XZERdk7xaFxzt5xTIBPiNm2M=
|
||||||
darvaza.org/resolver v0.9.2 h1:sUX6LZ1eN5TzJW7L4m7HM+BvwBeWl8dYYDGVSe+AIhk=
|
darvaza.org/resolver v0.9.2 h1:sUX6LZ1eN5TzJW7L4m7HM+BvwBeWl8dYYDGVSe+AIhk=
|
||||||
darvaza.org/resolver v0.9.2/go.mod h1:XWqPhrxoOKNzRuSozOwmE1M6QVqQL28jEdxylnIO8Nw=
|
darvaza.org/resolver v0.9.2/go.mod h1:XWqPhrxoOKNzRuSozOwmE1M6QVqQL28jEdxylnIO8Nw=
|
||||||
darvaza.org/sidecar v0.4.0 h1:wHghxzLsiT82WDBBUf34aTqtOvRBg4UbxVIJgKNXRVA=
|
darvaza.org/sidecar v0.4.0 h1:wHghxzLsiT82WDBBUf34aTqtOvRBg4UbxVIJgKNXRVA=
|
||||||
|
|||||||
+11
-30
@@ -4,7 +4,6 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"sort"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"darvaza.org/core"
|
"darvaza.org/core"
|
||||||
@@ -50,7 +49,7 @@ func (m *Env) Zones(r *Region) []rings.ZoneID {
|
|||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
|
|
||||||
core.SliceSort(zones, cmpOrdered[rings.ZoneID])
|
core.SliceSortOrdered(zones)
|
||||||
return zones
|
return zones
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,7 +65,7 @@ func (m *Env) RegionsNames() []string {
|
|||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
|
|
||||||
sort.Strings(regions)
|
core.SliceSortOrdered(regions)
|
||||||
return regions
|
return regions
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,7 +79,7 @@ func (m *Env) Regions() (regions []rings.RegionID) {
|
|||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
|
|
||||||
core.SliceSort(regions, cmpOrdered[rings.RegionID])
|
core.SliceSortOrdered(regions)
|
||||||
return regions
|
return regions
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,8 +117,8 @@ func (m *Env) getRegions() (out []*Region) {
|
|||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
|
|
||||||
core.SliceSort(out, func(a, b *Region) int {
|
core.SliceSortFn(out, func(a, b *Region) bool {
|
||||||
return cmpOrdered(a.ID, b.ID)
|
return a.ID < b.ID
|
||||||
})
|
})
|
||||||
|
|
||||||
return out
|
return out
|
||||||
@@ -143,23 +142,23 @@ func (m *Env) writeEnvZone(w io.Writer, r *Region, z *Zone) {
|
|||||||
zonePrefix := fmt.Sprintf("REGION%v_ZONE%v", r.ID, z.ID)
|
zonePrefix := fmt.Sprintf("REGION%v_ZONE%v", r.ID, z.ID)
|
||||||
monPrefix := zonePrefix + "_MON"
|
monPrefix := zonePrefix + "_MON"
|
||||||
|
|
||||||
// ZONE{zoneID}
|
// REGION{regionID}_ZONE{zoneID}
|
||||||
m.writeEnvVar(w, genEnvZoneNodes(z), zonePrefix)
|
m.writeEnvVar(w, genEnvZoneNodes(z), zonePrefix)
|
||||||
|
|
||||||
// ZONE{zoneID}_NAME
|
// REGION{regionID}_ZONE{zoneID}_NAME
|
||||||
m.writeEnvVar(w, z.Name, zonePrefix+"_NAME")
|
m.writeEnvVar(w, z.Name, zonePrefix+"_NAME")
|
||||||
|
|
||||||
// ZONE{zoneID}_GW
|
// REGION{regionID}_ZONE{zoneID}_GW
|
||||||
gateways, _ := z.GatewayIDs()
|
gateways, _ := z.GatewayIDs()
|
||||||
m.writeEnvVar(w, genEnvInts(gateways), zonePrefix+"_GW")
|
m.writeEnvVar(w, genEnvInts(gateways), zonePrefix+"_GW")
|
||||||
|
|
||||||
// Ceph
|
// Ceph
|
||||||
monitors := z.GetCephMonitors()
|
monitors := z.GetCephMonitors()
|
||||||
// MON{zoneID}_NAME
|
// REGION{regionID}_MON{zone_ID}
|
||||||
m.writeEnvVar(w, genEnvZoneCephMonNames(monitors), monPrefix)
|
m.writeEnvVar(w, genEnvZoneCephMonNames(monitors), monPrefix)
|
||||||
// MON{zoneID}_IP
|
// REGION{regionID}_MON{zone_ID}_IP
|
||||||
m.writeEnvVar(w, genEnvZoneCephMonIPs(monitors), monPrefix+"_IP")
|
m.writeEnvVar(w, genEnvZoneCephMonIPs(monitors), monPrefix+"_IP")
|
||||||
// MON{zoneID}_ID
|
// REGION{regionID}_MON{zone_ID}_ID
|
||||||
m.writeEnvVar(w, genEnvZoneCephMonIDs(monitors), monPrefix+"_ID")
|
m.writeEnvVar(w, genEnvZoneCephMonIDs(monitors), monPrefix+"_ID")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -217,13 +216,6 @@ func genEnvZoneNodes(z *Zone) string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func genEnvZoneRegion(z *Zone) string {
|
|
||||||
if z != nil && z.region != nil {
|
|
||||||
return z.region.Name
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func genEnvZoneCephMonNames(m Machines) string {
|
func genEnvZoneCephMonNames(m Machines) string {
|
||||||
var buf strings.Builder
|
var buf strings.Builder
|
||||||
m.ForEachMachine(func(p *Machine) bool {
|
m.ForEachMachine(func(p *Machine) bool {
|
||||||
@@ -264,14 +256,3 @@ func genEnvZoneCephMonIDs(m Machines) string {
|
|||||||
})
|
})
|
||||||
return buf.String()
|
return buf.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
func cmpOrdered[T core.Ordered](a, b T) int {
|
|
||||||
switch {
|
|
||||||
case a == b:
|
|
||||||
return 0
|
|
||||||
case a < b:
|
|
||||||
return -1
|
|
||||||
default:
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ func (r *Ring) AddPeer(p *Machine) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
case r.ID == 0:
|
case r.ID == rings.RingZeroID:
|
||||||
r.setRingZeroAllowedIPs(rp)
|
r.setRingZeroAllowedIPs(rp)
|
||||||
case p.IsGateway():
|
case p.IsGateway():
|
||||||
r.setRingOneGatewayAllowedIPs(rp)
|
r.setRingOneGatewayAllowedIPs(rp)
|
||||||
|
|||||||
Reference in New Issue
Block a user