6502454947
With this change RS configuration will be set on satellite. Uplink with get RS values with BeginObject request and will use it. For backward compatibility and to avoid super large change redundancy scheme stored with bucket is not touched. This can be done in future. Change-Id: Ia5f76fc10c37e2c44e4f7b8754f28eafe1f97eff
61 lines
2.2 KiB
Go
61 lines
2.2 KiB
Go
// Copyright (C) 2019 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package testplanet
|
|
|
|
import (
|
|
"time"
|
|
|
|
"go.uber.org/zap"
|
|
|
|
"storj.io/common/identity/testidentity"
|
|
"storj.io/common/pb"
|
|
"storj.io/common/storj"
|
|
"storj.io/storj/satellite"
|
|
"storj.io/storj/satellite/metainfo"
|
|
"storj.io/storj/storagenode"
|
|
)
|
|
|
|
// Reconfigure allows to change node configurations
|
|
type Reconfigure struct {
|
|
NewSatelliteDB func(log *zap.Logger, index int) (satellite.DB, error)
|
|
NewSatellitePointerDB func(log *zap.Logger, index int) (metainfo.PointerDB, error)
|
|
Satellite func(log *zap.Logger, index int, config *satellite.Config)
|
|
ReferralManagerServer func(log *zap.Logger) pb.ReferralManagerServer
|
|
|
|
NewStorageNodeDB func(index int, db storagenode.DB, log *zap.Logger) (storagenode.DB, error)
|
|
StorageNode func(index int, config *storagenode.Config)
|
|
UniqueIPCount int
|
|
|
|
Identities func(log *zap.Logger, version storj.IDVersion) *testidentity.Identities
|
|
}
|
|
|
|
// DisablePeerCAWhitelist returns a `Reconfigure` that sets `UsePeerCAWhitelist` for
|
|
// all node types that use kademlia.
|
|
var DisablePeerCAWhitelist = Reconfigure{
|
|
Satellite: func(log *zap.Logger, index int, config *satellite.Config) {
|
|
config.Server.UsePeerCAWhitelist = false
|
|
},
|
|
StorageNode: func(index int, config *storagenode.Config) {
|
|
config.Server.UsePeerCAWhitelist = false
|
|
},
|
|
}
|
|
|
|
// ShortenOnlineWindow returns a `Reconfigure` that sets the NodeSelection
|
|
// OnlineWindow to 1 second, meaning a connection failure leads to marking the nodes as offline
|
|
var ShortenOnlineWindow = Reconfigure{
|
|
Satellite: func(log *zap.Logger, index int, config *satellite.Config) {
|
|
config.Overlay.Node.OnlineWindow = 1 * time.Second
|
|
},
|
|
}
|
|
|
|
// ReconfigureRS returns function to change satellite redundancy scheme values
|
|
var ReconfigureRS = func(minThreshold, repairThreshold, successThreshold, totalThreshold int) func(log *zap.Logger, index int, config *satellite.Config) {
|
|
return func(log *zap.Logger, index int, config *satellite.Config) {
|
|
config.Metainfo.RS.MinThreshold = minThreshold
|
|
config.Metainfo.RS.RepairThreshold = repairThreshold
|
|
config.Metainfo.RS.SuccessThreshold = successThreshold
|
|
config.Metainfo.RS.TotalThreshold = totalThreshold
|
|
}
|
|
}
|