Compare commits

..

5 Commits

Author SHA1 Message Date
amery 495b16d1e7 zones: Env: allow multiple gateways on a Zone
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-27 17:16:27 +00:00
amery 42f77f3644 zones: Env: minor tidy up
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-27 17:16:27 +00:00
amery ae134550cc zones: Env: drop unused ZONE{zoneID}_IP
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-27 17:16:27 +00:00
amery 2af8c1d404 Merge branch 'pr-amery-machines' into next-amery 2023-08-27 17:16:06 +00:00
amery 80117bfaf3 Merge branch 'pr-amery-wg-prune' into next-amery 2023-08-27 17:12:00 +00:00
+13 -21
View File
@@ -38,7 +38,7 @@ func (m *Env) Zones() []int {
func (m *Env) WriteTo(w io.Writer) (int64, error) {
var buf bytes.Buffer
m.writeEnvVarInts(&buf, m.Zones(), "ZONES")
m.writeEnvVar(&buf, genEnvInts(m.Zones()), "ZONES")
m.ForEachZone(func(z *Zone) bool {
m.writeEnvZone(&buf, z)
return false
@@ -57,27 +57,10 @@ func (m *Env) writeEnvZone(w io.Writer, z *Zone) {
m.writeEnvVar(w, z.Name, "ZONE%v_%s", zoneID, "NAME")
// ZONE{zoneID}_GW
gateways, _ := z.GatewayIDs()
m.writeEnvVarInts(w, gateways, "ZONE%v_%s", zoneID, "GW")
}
func (m *Env) writeEnvVarInts(w io.Writer, value []int, name string, args ...any) {
var s string
if n := len(value); n > 0 {
var buf bytes.Buffer
for i, v := range value {
if i != 0 {
_, _ = fmt.Fprint(&buf, " ")
}
_, _ = fmt.Fprintf(&buf, "%v", v)
}
s = buf.String()
gateways := z.GatewayIDs()
if len(gateways) > 0 {
m.writeEnvVar(w, genEnvInts(gateways), "ZONE%v_%s", zoneID, "GW")
}
m.writeEnvVar(w, s, name, args...)
}
func (m *Env) writeEnvVar(w io.Writer, value string, name string, args ...any) {
@@ -98,6 +81,15 @@ func (m *Env) writeEnvVar(w io.Writer, value string, name string, args ...any) {
}
}
func genEnvInts(a []int) string {
s := make([]string, len(a))
for i, id := range a {
s[i] = fmt.Sprintf("%v", id)
}
return strings.Join(s, " ")
}
func genEnvZoneNodes(z *Zone) string {
if n := z.Len(); n > 0 {
s := make([]string, 0, n)