diff --git a/CHANGELOG.zh.md b/CHANGELOG.zh.md index 0a346dfad..fe81fe27a 100644 --- a/CHANGELOG.zh.md +++ b/CHANGELOG.zh.md @@ -1,5 +1,9 @@ # Changelog +## v0.7.3 +- damocles-manager + - 恢复 util sealer sectors abort 命令 [#853](https://github.com/ipfs-force-community/damocles/pull/853) + ## v0.7.2 - damocles-worker - 修复封装任务 panic 导致 damocles-worker 进程退出的 bug [#834](https://github.com/ipfs-force-community/damocles/pull/834) diff --git a/damocles-manager/cmd/damocles-manager/internal/util_sealer_sectors.go b/damocles-manager/cmd/damocles-manager/internal/util_sealer_sectors.go index f6979fc59..163094c7e 100644 --- a/damocles-manager/cmd/damocles-manager/internal/util_sealer_sectors.go +++ b/damocles-manager/cmd/damocles-manager/internal/util_sealer_sectors.go @@ -112,36 +112,47 @@ var utilSealerSectorsAbortCmd = &cli.Command{ Name: "abort", Usage: "Abort specified online sector job", ArgsUsage: " ", + Flags: []cli.Flag{ + &cli.BoolFlag{ + Name: "really-do-it", + Usage: "WARNING: This command may result in inconsistent state of damocles-manager and damocles-worker. If you know what you're doing, use it", + Value: false, + }, + }, Action: func(cctx *cli.Context) error { - return fmt.Errorf("this command is not available in the current version, please use the `damocles-worker worker -c resume --state Aborted --index ` or `damocles-manager util worker resume Aborted` commands instead.\n See: https://github.com/ipfs-force-community/damocles/blob/main/docs/en/11.task-status-flow.md#1-for-a-sector-sealing-task-that-has-been-paused-due-to-an-error-and-cannot-be-resumed-such-as-the-ticket-has-expired-you-can-use") - // if count := cctx.Args().Len(); count < 2 { - // return fmt.Errorf("both miner actor id & sector number are required, only %d args provided", count) - // } - - // miner, err := ShouldActor(cctx.Args().Get(0), true) - // if err != nil { - // return fmt.Errorf("invalid miner actor id: %w", err) - // } - - // sectorNum, err := strconv.ParseUint(cctx.Args().Get(1), 10, 64) - // if err != nil { - // return fmt.Errorf("invalid sector number: %w", err) - // } - - // cli, gctx, stop, err := extractAPI(cctx) - // if err != nil { - // return err - // } - - // defer stop() - - // _, err = cli.Sealer.ReportAborted(gctx, abi.SectorID{ - // Miner: miner, - // Number: abi.SectorNumber(sectorNum), - // }, "aborted via CLI") - // if err != nil { - // return fmt.Errorf("abort sector failed: %w", err) - // } + // return fmt.Errorf("this command is not available in the current version, please use the `damocles-worker worker -c resume --state Aborted --index ` or `damocles-manager util worker resume Aborted` commands instead.\n See: https://github.com/ipfs-force-community/damocles/blob/main/docs/en/11.task-status-flow.md#1-for-a-sector-sealing-task-that-has-been-paused-due-to-an-error-and-cannot-be-resumed-such-as-the-ticket-has-expired-you-can-use") + if count := cctx.Args().Len(); count < 2 { + return fmt.Errorf("both miner actor id & sector number are required, only %d args provided", count) + } + if !cctx.Bool("really-do-it") { + fmt.Println("If you know what you're doing, Pass --really-do-it to actually execute this action") + return nil + } + miner, err := ShouldActor(cctx.Args().Get(0), true) + if err != nil { + return fmt.Errorf("invalid miner actor id: %w", err) + } + + sectorNum, err := strconv.ParseUint(cctx.Args().Get(1), 10, 64) + if err != nil { + return fmt.Errorf("invalid sector number: %w", err) + } + + cli, gctx, stop, err := extractAPI(cctx) + if err != nil { + return err + } + + defer stop() + + _, err = cli.Damocles.ReportAborted(gctx, abi.SectorID{ + Miner: miner, + Number: abi.SectorNumber(sectorNum), + }, "aborted via CLI") + if err != nil { + return fmt.Errorf("abort sector failed: %w", err) + } + return nil }, } diff --git a/damocles-manager/ver/ver.go b/damocles-manager/ver/ver.go index 442722e98..40d132fd8 100644 --- a/damocles-manager/ver/ver.go +++ b/damocles-manager/ver/ver.go @@ -2,7 +2,7 @@ package ver import "fmt" -const Version = "0.7.2" +const Version = "0.7.3" var Commit string diff --git a/damocles-worker/Cargo.lock b/damocles-worker/Cargo.lock index 28d09c82e..a4f65c1bd 100644 --- a/damocles-worker/Cargo.lock +++ b/damocles-worker/Cargo.lock @@ -973,7 +973,7 @@ dependencies = [ [[package]] name = "damocles-worker" -version = "0.7.2" +version = "0.7.3" dependencies = [ "anyhow", "base64 0.13.1", diff --git a/damocles-worker/Cargo.toml b/damocles-worker/Cargo.toml index fc8abfc2d..f2665bbfd 100644 --- a/damocles-worker/Cargo.toml +++ b/damocles-worker/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "damocles-worker" -version = "0.7.2" +version = "0.7.3" authors = ["dtynn "] edition = "2021" exclude = [