From 07fd7b450a25c8ce3f12174f842ef19927e16b45 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Wed, 23 Aug 2023 14:33:29 +0000 Subject: [PATCH] zones: env: use SetGateway() Signed-off-by: Alejandro Mery --- pkg/zones/env.go | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkg/zones/env.go b/pkg/zones/env.go index 2e2ae95..faef2f8 100644 --- a/pkg/zones/env.go +++ b/pkg/zones/env.go @@ -78,14 +78,15 @@ func genEnvZoneNodes(z *Zone) string { return strings.Join(s, " ") } -func getRingZeroGatewayID(z *Zone) int { - var firstNodeID, gatewayID int +func getRingZeroGatewayID(z *Zone) (int, error) { + var gatewayID int + var first *Machine z.ForEachMachine(func(p *Machine) bool { nodeID := p.ID() - if firstNodeID == 0 { - firstNodeID = nodeID + if first == nil { + first = p } if p.IsGateway() { @@ -95,10 +96,13 @@ func getRingZeroGatewayID(z *Zone) int { return gatewayID != 0 }) - switch { - case gatewayID == 0: - return firstNodeID - default: - return gatewayID + if gatewayID == 0 { + gatewayID = first.ID() + + if err := first.SetGateway(true); err != nil { + return gatewayID, err + } } + + return gatewayID, nil }