[#220] cmd/neofs-node: Support new configuration of storage components

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2020-11-30 18:35:37 +03:00 committed by Alex Vanin
parent e758c246b7
commit cd2228cd99
2 changed files with 35 additions and 6 deletions

View file

@ -22,7 +22,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/bucket" "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/bucket"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/bucket/fsbucket" "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/bucket/fsbucket"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine" "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase" meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase/v2"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard" "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
"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/wrapper" "github.com/nspcc-dev/neofs-node/pkg/morph/client/container/wrapper"
@ -36,7 +36,6 @@ import (
"github.com/panjf2000/ants/v2" "github.com/panjf2000/ants/v2"
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/spf13/viper" "github.com/spf13/viper"
"go.etcd.io/bbolt"
"go.uber.org/zap" "go.uber.org/zap"
"google.golang.org/grpc" "google.golang.org/grpc"
) )
@ -122,6 +121,12 @@ const (
cfgBlobStorTreePerm = "perm" cfgBlobStorTreePerm = "perm"
cfgBlobStorSmallSzLimit = "small_size_limit" cfgBlobStorSmallSzLimit = "small_size_limit"
cfgBlobStorBlzSection = "blobovnicza"
cfgBlzSize = "size"
cfgBlzShallowDepth = "shallow_depth"
cfgBlzShallowWidth = "shallow_width"
cfgBlzOpenedCacheSize = "opened_cache_size"
cfgMetaBaseSection = "metabase" cfgMetaBaseSection = "metabase"
cfgMetaBasePath = "path" cfgMetaBasePath = "path"
cfgMetaBasePerm = "perm" cfgMetaBasePerm = "perm"
@ -456,6 +461,24 @@ func initShardOptions(c *cfg) {
configPath(blobPrefix, cfgBlobStorSmallSzLimit), configPath(blobPrefix, cfgBlobStorSmallSzLimit),
) )
blzPrefix := configPath(blobPrefix, cfgBlobStorBlzSection)
blzSize := c.viper.GetUint64(
configPath(blzPrefix, cfgBlzSize),
)
blzShallowDepth := c.viper.GetUint64(
configPath(blzPrefix, cfgBlzShallowDepth),
)
blzShallowWidth := c.viper.GetUint64(
configPath(blzPrefix, cfgBlzShallowWidth),
)
blzCacheSize := c.viper.GetInt(
configPath(blzPrefix, cfgBlzOpenedCacheSize),
)
metaPrefix := configPath(prefix, cfgMetaBaseSection) metaPrefix := configPath(prefix, cfgMetaBaseSection)
metaPath := c.viper.GetString( metaPath := c.viper.GetString(
@ -468,9 +491,6 @@ func initShardOptions(c *cfg) {
fatalOnErr(os.MkdirAll(path.Dir(metaPath), metaPerm)) fatalOnErr(os.MkdirAll(path.Dir(metaPath), metaPerm))
boltDB, err := bbolt.Open(metaPath, metaPerm, nil)
fatalOnErr(err)
opts = append(opts, []shard.Option{ opts = append(opts, []shard.Option{
shard.WithLogger(c.log), shard.WithLogger(c.log),
shard.WithBlobStorOptions( shard.WithBlobStorOptions(
@ -479,10 +499,16 @@ func initShardOptions(c *cfg) {
blobstor.WithTreeRootPerm(blobPerm), blobstor.WithTreeRootPerm(blobPerm),
blobstor.WithShallowDepth(shallowDepth), blobstor.WithShallowDepth(shallowDepth),
blobstor.WithSmallSizeLimit(smallSzLimit), blobstor.WithSmallSizeLimit(smallSzLimit),
blobstor.WithBlobovniczaSize(blzSize),
blobstor.WithBlobovniczaShallowDepth(blzShallowDepth),
blobstor.WithBlobovniczaShallowWidth(blzShallowWidth),
blobstor.WithBlobovniczaOpenedCacheSize(blzCacheSize),
blobstor.WithLogger(c.log),
), ),
shard.WithMetaBaseOptions( shard.WithMetaBaseOptions(
meta.WithLogger(c.log), meta.WithLogger(c.log),
meta.FromBoltDB(boltDB), meta.WithPath(metaPath),
meta.WithPermissions(metaPerm),
), ),
}) })

View file

@ -40,6 +40,9 @@ func init_(c *cfg) {
initObjectService(c) initObjectService(c)
initProfiler(c) initProfiler(c)
fatalOnErr(c.cfgObject.cfgLocalStorage.localStorage.Open())
fatalOnErr(c.cfgObject.cfgLocalStorage.localStorage.Init())
listenMorphNotifications(c) listenMorphNotifications(c)
} }