Merge pull request #11406 from filecoin-project/feat/lp-disable-wdpost

feat: lotus miner config to entirely disable WindowPoSt
This commit is contained in:
Andrew Jackson (Ajax) 2023-11-09 20:49:05 -06:00 committed by GitHub
commit 3178388c6b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 43 additions and 14 deletions

View File

@ -161,6 +161,21 @@
# env var: LOTUS_SUBSYSTEMS_SECTORINDEXAPIINFO
#SectorIndexApiInfo = ""
# When window post is enabled, the miner will automatically submit window post proofs
# for all sectors that are eligible for window post
# IF WINDOW POST IS DISABLED, THE MINER WILL NOT SUBMIT WINDOW POST PROOFS
# THIS WILL RESULT IN FAULTS AND PENALTIES IF NO OTHER MECHANISM IS RUNNING
# TO SUBMIT WINDOW POST PROOFS.
# Note: This option is entirely disabling the window post scheduler,
# not just the builtin PoSt computation like Proving.DisableBuiltinWindowPoSt.
# This option will stop lotus-miner from performing any actions related
# to window post, including scheduling, submitting proofs, and recovering
# sectors.
#
# type: bool
# env var: LOTUS_SUBSYSTEMS_DISABLEWINDOWPOST
#DisableWindowPoSt = false
[Dealmaking]
# When enabled, the miner can accept online deals

View File

@ -345,19 +345,6 @@ func Repo(r repo.Repo) Option {
}
}
func Provider(r repo.Repo) Option {
return func(settings *Settings) error {
return Options(
func(s *Settings) error { s.Base = true; return nil }, // mark Base as applied
ApplyIf(func(s *Settings) bool { return s.Config },
Error(errors.New("the Base() option must be set before Config option")),
),
//ApplyIf(IsType(repo.WdPost), ConfigWdPost(c)),
//ApplyIf(IsType(repo.WinPost), ConfigWinPost(c)),
)(settings)
}
}
type StopFunc func(context.Context) error
// New builds and starts new Filecoin node

View File

@ -126,7 +126,7 @@ func ConfigStorageMiner(c interface{}) Option {
Override(PreflightChecksKey, modules.PreflightChecks),
Override(new(*sealing.Sealing), modules.SealingPipeline(cfg.Fees)),
Override(new(*wdpost.WindowPoStScheduler), modules.WindowPostScheduler(cfg.Fees, cfg.Proving)),
If(!cfg.Subsystems.DisableWindowPoSt, Override(new(*wdpost.WindowPoStScheduler), modules.WindowPostScheduler(cfg.Fees, cfg.Proving))),
Override(new(sectorblocks.SectorBuilder), From(new(*sealing.Sealing))),
),

View File

@ -962,6 +962,21 @@ This is useful to allow workers to bypass the lotus miner to access sector infor
Comment: ``,
},
{
Name: "DisableWindowPoSt",
Type: "bool",
Comment: `When window post is enabled, the miner will automatically submit window post proofs
for all sectors that are eligible for window post
IF WINDOW POST IS DISABLED, THE MINER WILL NOT SUBMIT WINDOW POST PROOFS
THIS WILL RESULT IN FAULTS AND PENALTIES IF NO OTHER MECHANISM IS RUNNING
TO SUBMIT WINDOW POST PROOFS.
Note: This option is entirely disabling the window post scheduler,
not just the builtin PoSt computation like Proving.DisableBuiltinWindowPoSt.
This option will stop lotus-miner from performing any actions related
to window post, including scheduling, submitting proofs, and recovering
sectors.`,
},
},
"ProviderSubsystemsConfig": {
{

View File

@ -149,6 +149,18 @@ type MinerSubsystemConfig struct {
SealerApiInfo string // if EnableSealing == false
SectorIndexApiInfo string // if EnableSectorStorage == false
// When window post is enabled, the miner will automatically submit window post proofs
// for all sectors that are eligible for window post
// IF WINDOW POST IS DISABLED, THE MINER WILL NOT SUBMIT WINDOW POST PROOFS
// THIS WILL RESULT IN FAULTS AND PENALTIES IF NO OTHER MECHANISM IS RUNNING
// TO SUBMIT WINDOW POST PROOFS.
// Note: This option is entirely disabling the window post scheduler,
// not just the builtin PoSt computation like Proving.DisableBuiltinWindowPoSt.
// This option will stop lotus-miner from performing any actions related
// to window post, including scheduling, submitting proofs, and recovering
// sectors.
DisableWindowPoSt bool
}
type DealmakingConfig struct {