From 7258b4a20effaa9d5c397e1bade3e50764c8c8b6 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Wed, 23 Aug 2023 20:04:47 +0000 Subject: [PATCH] zones: Machine.IsGateway() Signed-off-by: Alejandro Mery --- pkg/zones/env.go | 2 +- pkg/zones/machine.go | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/zones/env.go b/pkg/zones/env.go index 59eaadc..2e2ae95 100644 --- a/pkg/zones/env.go +++ b/pkg/zones/env.go @@ -88,7 +88,7 @@ func getRingZeroGatewayID(z *Zone) int { firstNodeID = nodeID } - if _, found := p.getRingInfo(0); found { + if p.IsGateway() { gatewayID = nodeID } diff --git a/pkg/zones/machine.go b/pkg/zones/machine.go index 5966ae7..2348cf7 100644 --- a/pkg/zones/machine.go +++ b/pkg/zones/machine.go @@ -58,6 +58,18 @@ func (m *Machine) FullName() string { return m.Name } +// IsGateway tells if the Machine is a ring0 gateway +func (m *Machine) IsGateway() bool { + m.mu.Lock() + defer m.mu.Unlock() + + if ri, found := m.getRingInfo(0); found { + return ri.Enabled + } + + return false +} + func (m *Machine) getPeerByName(name string) (*Machine, bool) { return m.zone.zones.GetMachineByName(name) }