diff --git a/cmd/frostfs-node/netmap.go b/cmd/frostfs-node/netmap.go index 8bf7c664d..62d7486f6 100644 --- a/cmd/frostfs-node/netmap.go +++ b/cmd/frostfs-node/netmap.go @@ -253,6 +253,10 @@ func readSubnetCfg(c *cfg) { // Must be called after initNetmapService. func bootstrapNode(c *cfg) { if c.needBootstrap() { + if c.IsMaintenance() { + c.log.Info("the node is under maintenance, skip initial bootstrap") + return + } err := c.bootstrap() fatalOnErrDetails("bootstrap error", err) } @@ -294,6 +298,10 @@ func initNetmapState(c *cfg) { zap.String("state", stateWord), ) + if ni != nil && ni.IsMaintenance() { + c.isMaintenance.Store(true) + } + c.cfgNetmap.state.setCurrentEpoch(epoch) c.cfgNetmap.startEpoch = epoch c.handleLocalNodeInfo(ni)