From 5cf3338bcd1cbcf9f7e61fd8ca7db4aea5696144 Mon Sep 17 00:00:00 2001 From: Travis Nielsen Date: Wed, 27 Jan 2021 15:34:16 -0700 Subject: [PATCH] ceph: prevent operator crash with host networking and mon not found When the node is not found for mon assignment with host networking enabled, the operator may crash. This change ensures the node is not nil and returns an error instead of crashing. Signed-off-by: Travis Nielsen --- pkg/operator/ceph/cluster/mon/mon.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/operator/ceph/cluster/mon/mon.go b/pkg/operator/ceph/cluster/mon/mon.go index 5544531ce..712b44388 100644 --- a/pkg/operator/ceph/cluster/mon/mon.go +++ b/pkg/operator/ceph/cluster/mon/mon.go @@ -789,8 +789,8 @@ func (c *Cluster) initMonIPs(mons []*monConfig) error { if c.spec.Network.IsHost() { logger.Infof("setting mon endpoints for hostnetwork mode") node, ok := c.mapping.Schedule[m.DaemonName] - if !ok { - return errors.New("mon doesn't exist in assignment map") + if !ok || node == nil { + return fmt.Errorf("node for mon %q doesn't exist in assignment map", m.DaemonName) } m.PublicIP = node.Address } else {