diff --git a/pkg/innerring/netmap.go b/pkg/innerring/netmap.go index 1df6848cc..03b13b053 100644 --- a/pkg/innerring/netmap.go +++ b/pkg/innerring/netmap.go @@ -1,6 +1,8 @@ package innerring import ( + "fmt" + "github.com/nspcc-dev/neofs-node/pkg/innerring/processors/netmap/nodevalidation/state" netmapclient "github.com/nspcc-dev/neofs-node/pkg/morph/client/netmap" ) @@ -16,5 +18,12 @@ type networkSettings netmapclient.Client // and check allowance of storage node's maintenance mode according to it. // Always returns state.ErrMaintenanceModeDisallowed. func (s *networkSettings) MaintenanceModeAllowed() error { + allowed, err := (*netmapclient.Client)(s).MaintenanceModeAllowed() + if err != nil { + return fmt.Errorf("read maintenance mode's allowance from the Sidechain: %w", err) + } else if allowed { + return nil + } + return state.ErrMaintenanceModeDisallowed }