diff --git a/cmd/neofs-node/config.go b/cmd/neofs-node/config.go index 5002f4637..27ad9769a 100644 --- a/cmd/neofs-node/config.go +++ b/cmd/neofs-node/config.go @@ -116,6 +116,8 @@ type cfg struct { clientCache *cache.ClientCache persistate *state.PersistentStorage + + netMapSource netmapCore.Source } type cfgGRPC struct { @@ -175,8 +177,6 @@ type cfgNodeInfo struct { } type cfgObject struct { - netMapSource netmapCore.Source - cnrSource container.Source eaclSource eacl.Source diff --git a/cmd/neofs-node/container.go b/cmd/neofs-node/container.go index 05a4dbc33..0ad2c9b1f 100644 --- a/cmd/neofs-node/container.go +++ b/cmd/neofs-node/container.go @@ -105,7 +105,7 @@ func initContainerService(c *cfg) { loadPlacementBuilder := &loadPlacementBuilder{ log: c.log, - nmSrc: c.cfgNetmap.wrapper, + nmSrc: c.netMapSource, cnrSrc: cnrSrc, } diff --git a/cmd/neofs-node/control.go b/cmd/neofs-node/control.go index 69b930604..352c78c61 100644 --- a/cmd/neofs-node/control.go +++ b/cmd/neofs-node/control.go @@ -31,7 +31,7 @@ func initControlService(c *cfg) { controlSvc.WithKey(&c.key.PrivateKey), controlSvc.WithAuthorizedKeys(rawPubs), controlSvc.WithHealthChecker(c), - controlSvc.WithNetMapSource(c.cfgNetmap.wrapper), + controlSvc.WithNetMapSource(c.netMapSource), controlSvc.WithNodeState(c), controlSvc.WithDeletedObjectHandler(func(addrList []*object.Address) error { prm := new(engine.DeletePrm).WithAddresses(addrList...) diff --git a/cmd/neofs-node/morph.go b/cmd/neofs-node/morph.go index 136df420d..1810463ea 100644 --- a/cmd/neofs-node/morph.go +++ b/cmd/neofs-node/morph.go @@ -99,7 +99,7 @@ func initMorphComponents(c *cfg) { netmapSource = newCachedNetmapStorage(c.cfgNetmap.state, wrap) } - c.cfgObject.netMapSource = netmapSource + c.netMapSource = netmapSource c.cfgNetmap.wrapper = wrap } diff --git a/cmd/neofs-node/object.go b/cmd/neofs-node/object.go index b11517c3b..2765a818a 100644 --- a/cmd/neofs-node/object.go +++ b/cmd/neofs-node/object.go @@ -185,7 +185,7 @@ func initObjectService(c *cfg) { clientConstructor := &reputationClientConstructor{ log: c.log, - nmSrc: c.cfgObject.netMapSource, + nmSrc: c.netMapSource, netState: c.cfgNetmap.state, trustStorage: c.cfgReputation.localTrustStorage, basicConstructor: c.clientCache, @@ -228,7 +228,7 @@ func initObjectService(c *cfg) { policer.WithLocalStorage(ls), policer.WithContainerSource(c.cfgObject.cnrSource), policer.WithPlacementBuilder( - placement.NewNetworkMapSourceBuilder(c.cfgObject.netMapSource), + placement.NewNetworkMapSourceBuilder(c.netMapSource), ), policer.WithRemoteHeader( headsvc.NewRemoteHeader(keyStorage, clientConstructor), @@ -251,7 +251,7 @@ func initObjectService(c *cfg) { policer.WithNodeLoader(c), ) - traverseGen := util.NewTraverserGenerator(c.cfgObject.netMapSource, c.cfgObject.cnrSource, c) + traverseGen := util.NewTraverserGenerator(c.netMapSource, c.cfgObject.cnrSource, c) c.workers = append(c.workers, pol) @@ -261,7 +261,7 @@ func initObjectService(c *cfg) { putsvc.WithMaxSizeSource(c), putsvc.WithLocalStorage(ls), putsvc.WithContainerSource(c.cfgObject.cnrSource), - putsvc.WithNetworkMapSource(c.cfgObject.netMapSource), + putsvc.WithNetworkMapSource(c.netMapSource), putsvc.WithNetmapKeys(c), putsvc.WithFormatValidatorOpts( objectCore.WithDeleteHandler(objInhumer), @@ -285,7 +285,7 @@ func initObjectService(c *cfg) { placement.WithoutSuccessTracking(), ), ), - searchsvc.WithNetMapSource(c.cfgNetmap.wrapper), + searchsvc.WithNetMapSource(c.netMapSource), searchsvc.WithKeyStorage(keyStorage), ) @@ -303,7 +303,7 @@ func initObjectService(c *cfg) { placement.SuccessAfter(1), ), ), - getsvc.WithNetMapSource(c.cfgNetmap.wrapper), + getsvc.WithNetMapSource(c.netMapSource), getsvc.WithKeyStorage(keyStorage), ) @@ -349,7 +349,7 @@ func initObjectService(c *cfg) { acl.NewSenderClassifier( c.log, irFetcher, - c.cfgNetmap.wrapper, + c.netMapSource, ), ), acl.WithContainerSource( diff --git a/cmd/neofs-node/reputation.go b/cmd/neofs-node/reputation.go index 3f71cef12..6e5615702 100644 --- a/cmd/neofs-node/reputation.go +++ b/cmd/neofs-node/reputation.go @@ -37,8 +37,7 @@ func initReputationService(c *cfg) { localKey := c.key.PublicKey().Bytes() - // consider sharing this between application components - nmSrc := newCachedNetmapStorage(c.cfgNetmap.state, c.cfgNetmap.wrapper) + nmSrc := c.netMapSource // storing calculated trusts as a daughter c.cfgReputation.localTrustStorage = truststorage.New(