Skip to content

Commit

Permalink
add reboot queue backoff reset command
Browse files Browse the repository at this point in the history
Signed-off-by: YZ775 <[email protected]>
  • Loading branch information
YZ775 committed Oct 23, 2023
1 parent 2a0ecb9 commit 5d5e89e
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
9 changes: 9 additions & 0 deletions mtest/reboot_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,15 @@ func testRebootOperations() {
Expect(re).Should(HaveLen(1))
Expect(re[0].Status).Should(Equal(cke.RebootStatusQueued))
Expect(re[0].DrainBackOffExpire).ShouldNot(Equal(time.Time{}))
Expect(re[0].DrainBackOffCount).Should(Not(BeZero()))

By("Checking reset-backoff command resets drain backoff")
ckecliSafe("reboot-queue", "reset-backoff")
re, err = getRebootEntries()
Expect(err).ShouldNot(HaveOccurred())
Expect(re).Should(HaveLen(1))
Expect(re[0].DrainBackOffExpire).Should(Equal(time.Time{}))
Expect(re[0].DrainBackOffCount).Should(BeZero())

By("Waiting for reboot completion")
waitRebootCompletion(cluster)
Expand Down
44 changes: 44 additions & 0 deletions pkg/ckecli/cmd/reboot_queue_backoff_reset.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package cmd

import (
"context"
"time"

"github.com/cybozu-go/cke"
"github.com/cybozu-go/well"
"github.com/spf13/cobra"
)

var rebootQueueBackoffResetCmd = &cobra.Command{
Use: "reset-backoff",
Short: "reset backoff",
Long: `reset backoff`,
RunE: func(cmd *cobra.Command, args []string) error {
well.Go(func(ctx context.Context) error {
entries, err := storage.GetRebootsEntries(ctx)
if err != nil {
return err
}

for _, entry := range entries {
entry.DrainBackOffCount = 0
entry.DrainBackOffExpire = time.Time{}
err := storage.UpdateRebootsEntry(ctx, entry)
if err == cke.ErrNotFound {
// The entry has just finished
continue
}
if err != nil {
return err
}
}
return nil
})
well.Stop()
return well.Wait()
},
}

func init() {
rebootQueueCmd.AddCommand(rebootQueueBackoffResetCmd)
}

0 comments on commit 5d5e89e

Please sign in to comment.