forked from TrueCloudLab/frostfs-node
[#43] cmd/neofs-node: Use morph wrappers as data sources
Morph wrappers are being uses as sources for containers and snapshots of network map. Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
1914b4dbad
commit
8585e147d0
3 changed files with 30 additions and 21 deletions
|
@ -14,6 +14,7 @@ import (
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/core/container"
|
"github.com/nspcc-dev/neofs-node/pkg/core/container"
|
||||||
netmapCore "github.com/nspcc-dev/neofs-node/pkg/core/netmap"
|
netmapCore "github.com/nspcc-dev/neofs-node/pkg/core/netmap"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
||||||
|
nmwrapper "github.com/nspcc-dev/neofs-node/pkg/morph/client/netmap/wrapper"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/network"
|
"github.com/nspcc-dev/neofs-node/pkg/network"
|
||||||
tokenStorage "github.com/nspcc-dev/neofs-node/pkg/services/session/storage"
|
tokenStorage "github.com/nspcc-dev/neofs-node/pkg/services/session/storage"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
|
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
|
||||||
|
@ -108,6 +109,7 @@ type cfgContainer struct {
|
||||||
|
|
||||||
type cfgNetmap struct {
|
type cfgNetmap struct {
|
||||||
scriptHash util.Uint160
|
scriptHash util.Uint160
|
||||||
|
wrapper *nmwrapper.Wrapper
|
||||||
|
|
||||||
fee util.Fixed8
|
fee util.Fixed8
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"github.com/nspcc-dev/neofs-api-go/v2/session"
|
"github.com/nspcc-dev/neofs-api-go/v2/session"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/morph/client/container"
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client/container"
|
||||||
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client/container/wrapper"
|
||||||
containerTransportGRPC "github.com/nspcc-dev/neofs-node/pkg/network/transport/container/grpc"
|
containerTransportGRPC "github.com/nspcc-dev/neofs-node/pkg/network/transport/container/grpc"
|
||||||
containerService "github.com/nspcc-dev/neofs-node/pkg/services/container"
|
containerService "github.com/nspcc-dev/neofs-node/pkg/services/container"
|
||||||
containerMorph "github.com/nspcc-dev/neofs-node/pkg/services/container/morph"
|
containerMorph "github.com/nspcc-dev/neofs-node/pkg/services/container/morph"
|
||||||
|
@ -21,6 +22,11 @@ func initContainerService(c *cfg) {
|
||||||
cnrClient, err := container.New(staticClient)
|
cnrClient, err := container.New(staticClient)
|
||||||
fatalOnErr(err)
|
fatalOnErr(err)
|
||||||
|
|
||||||
|
wrap, err := wrapper.New(cnrClient)
|
||||||
|
fatalOnErr(err)
|
||||||
|
|
||||||
|
c.cfgObject.cnrStorage = wrap // use RPC node as source of containers
|
||||||
|
|
||||||
metaHdr := new(session.ResponseMetaHeader)
|
metaHdr := new(session.ResponseMetaHeader)
|
||||||
xHdr := new(session.XHeader)
|
xHdr := new(session.XHeader)
|
||||||
xHdr.SetKey("test X-Header key")
|
xHdr.SetKey("test X-Header key")
|
||||||
|
|
|
@ -14,10 +14,7 @@ func initMorphComponents(c *cfg) {
|
||||||
|
|
||||||
c.cfgMorph.client, err = client.New(c.key, c.viper.GetString(cfgMorphRPCAddress))
|
c.cfgMorph.client, err = client.New(c.key, c.viper.GetString(cfgMorphRPCAddress))
|
||||||
fatalOnErr(err)
|
fatalOnErr(err)
|
||||||
}
|
|
||||||
|
|
||||||
func bootstrapNode(c *cfg) {
|
|
||||||
if c.cfgNodeInfo.bootType == StorageNode {
|
|
||||||
staticClient, err := client.NewStatic(
|
staticClient, err := client.NewStatic(
|
||||||
c.cfgMorph.client,
|
c.cfgMorph.client,
|
||||||
c.cfgNetmap.scriptHash,
|
c.cfgNetmap.scriptHash,
|
||||||
|
@ -26,17 +23,21 @@ func bootstrapNode(c *cfg) {
|
||||||
fatalOnErr(err)
|
fatalOnErr(err)
|
||||||
|
|
||||||
cli, err := netmap.New(staticClient)
|
cli, err := netmap.New(staticClient)
|
||||||
fatalOnErr(errors.Wrap(err, "bootstrap error"))
|
fatalOnErr(err)
|
||||||
|
|
||||||
cliWrapper, err := wrapper.New(cli)
|
wrap, err := wrapper.New(cli)
|
||||||
fatalOnErr(errors.Wrap(err, "bootstrap error"))
|
fatalOnErr(err)
|
||||||
|
|
||||||
|
c.cfgObject.netMapStorage = wrap
|
||||||
|
c.cfgNetmap.wrapper = wrap
|
||||||
|
}
|
||||||
|
|
||||||
|
func bootstrapNode(c *cfg) {
|
||||||
peerInfo := new(v2netmap.NodeInfo)
|
peerInfo := new(v2netmap.NodeInfo)
|
||||||
peerInfo.SetAddress(c.viper.GetString(cfgBootstrapAddress))
|
peerInfo.SetAddress(c.localAddr.String())
|
||||||
peerInfo.SetPublicKey(crypto.MarshalPublicKey(&c.key.PublicKey))
|
peerInfo.SetPublicKey(crypto.MarshalPublicKey(&c.key.PublicKey))
|
||||||
peerInfo.SetAttributes(c.cfgNodeInfo.attributes)
|
peerInfo.SetAttributes(c.cfgNodeInfo.attributes)
|
||||||
|
|
||||||
err = cliWrapper.AddPeer(peerInfo)
|
err := c.cfgNetmap.wrapper.AddPeer(peerInfo)
|
||||||
fatalOnErr(errors.Wrap(err, "bootstrap error"))
|
fatalOnErr(errors.Wrap(err, "bootstrap error"))
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue