reputation: Add configuration parameters (#2150)

* reputation: Add configuration parameters
 Add the configuration parameters which will be used by the algorithm
 which will calculate the storage node reputation.
 Because the reputation calculation is based on audit and uptime check
 results some configuration parameters are in pkg/audit, others in
 pkg/discovery and other in the satellite which will combine the both
 reputation results to obtain the storage node reputation for repair and
 uplink.
* satellite-config: Refresh lock file with new params
  Refresh the Satellite configuration yaml lock file with the new
  parameters added in this branch.
This commit is contained in:
Ivan Fraixedes 2019-06-11 12:14:01 +02:00 committed by GitHub
parent f0880b9b3c
commit f624b213a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 49 additions and 0 deletions

View File

@ -42,6 +42,19 @@ type NodeSelectionConfig struct {
MinimumVersion string `help:"the minimum node software version for node selection queries" default:""`
OnlineWindow time.Duration `help:"the amount of time without seeing a node before its considered offline" default:"1h"`
DistinctIP bool `help:"require distinct IPs when choosing nodes for upload" releaseDefault:"true" devDefault:"false"`
ReputationAuditRepairWeight float64 `help:"weight to apply to audit reputation for total repair reputation calculation" default:"1.0"`
ReputationAuditUplinkWeight float64 `help:"weight to apply to audit reputation for total uplink reputation calculation" default:"1.0"`
ReputationAuditAlpha0 float64 `help:"the initial shape 'alpha' used to calculate audit SNs reputation" default:"1.0"`
ReputationAuditBeta0 float64 `help:"the initial shape 'beta' value used to calculate audit SNs reputation" default:"0.0"`
ReputationAuditLambda float64 `help:"the forgetting factor used to calculate the audit SNs reputation" default:"1.0"`
ReputationAuditOmega float64 `help:"the normalization weight used to calculate the audit SNs reputation" default:"1.0"`
ReputationUptimeRepairWeight float64 `help:"weight to apply to uptime reputation for total repair reputation calculation" default:"1.0"`
ReputationUptimeUplinkWeight float64 `help:"weight to apply to uptime reputation for total uplink reputation calculation" default:"1.0"`
ReputationUptimeAlpha0 float64 `help:"the initial shape 'alpha' used to calculate uptime SNs reputation" default:"1.0"`
ReputationUptimeBeta0 float64 `help:"the initial shape 'beta' value used to calculate uptime SNs reputation" default:"0.0"`
ReputationUptimeLambda float64 `help:"the forgetting factor used to calculate the uptime SNs reputation" default:"1.0"`
ReputationUptimeOmega float64 `help:"the normalization weight used to calculate the uptime SNs reputation" default:"1.0"`
}
// ParseIDs converts the base58check encoded node ID strings from the config into node IDs

View File

@ -205,6 +205,42 @@ kademlia.operator.wallet: ""
# the amount of time without seeing a node before its considered offline
# overlay.node.online-window: 1h0m0s
# the initial shape 'alpha' used to calculate audit SNs reputation
# overlay.node.reputation-audit-alpha0: 1
# the initial shape 'beta' value used to calculate audit SNs reputation
# overlay.node.reputation-audit-beta0: 0
# the forgetting factor used to calculate the audit SNs reputation
# overlay.node.reputation-audit-lambda: 1
# the normalization weight used to calculate the audit SNs reputation
# overlay.node.reputation-audit-omega: 1
# weight to apply to audit reputation for total repair reputation calculation
# overlay.node.reputation-audit-repair-weight: 1
# weight to apply to audit reputation for total uplink reputation calculation
# overlay.node.reputation-audit-uplink-weight: 1
# the initial shape 'alpha' used to calculate uptime SNs reputation
# overlay.node.reputation-uptime-alpha0: 1
# the initial shape 'beta' value used to calculate uptime SNs reputation
# overlay.node.reputation-uptime-beta0: 0
# the forgetting factor used to calculate the uptime SNs reputation
# overlay.node.reputation-uptime-lambda: 1
# the normalization weight used to calculate the uptime SNs reputation
# overlay.node.reputation-uptime-omega: 1
# weight to apply to uptime reputation for total repair reputation calculation
# overlay.node.reputation-uptime-repair-weight: 1
# weight to apply to uptime reputation for total uplink reputation calculation
# overlay.node.reputation-uptime-uplink-weight: 1
# the number of times a node's uptime has been checked to not be considered a New Node
# overlay.node.uptime-count: 500