zones: env: use SetGateway()
Signed-off-by: Alejandro Mery <amery@jpi.io>
This commit is contained in:
+13
-9
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user