1
0
mirror of synced 2026-02-06 19:05:55 +00:00

add wait flag to flux resume cmd

Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
This commit is contained in:
Somtochi Onyekwere
2022-02-17 15:37:26 +01:00
parent b4118b73ed
commit 9c76ba903b

View File

@@ -35,7 +35,8 @@ var resumeCmd = &cobra.Command{
} }
type ResumeFlags struct { type ResumeFlags struct {
all bool all bool
wait bool
} }
var resumeArgs ResumeFlags var resumeArgs ResumeFlags
@@ -43,6 +44,8 @@ var resumeArgs ResumeFlags
func init() { func init() {
resumeCmd.PersistentFlags().BoolVarP(&resumeArgs.all, "all", "", false, resumeCmd.PersistentFlags().BoolVarP(&resumeArgs.all, "all", "", false,
"resume all resources in that namespace") "resume all resources in that namespace")
resumeCmd.PersistentFlags().BoolVarP(&resumeArgs.wait, "wait", "", false,
"waits for one resource to reconcile before moving to the next one")
rootCmd.AddCommand(resumeCmd) rootCmd.AddCommand(resumeCmd)
} }
@@ -107,19 +110,21 @@ func (resume resumeCommand) run(cmd *cobra.Command, args []string) error {
logger.Successf("%s resumed", resume.humanKind) logger.Successf("%s resumed", resume.humanKind)
namespacedName := types.NamespacedName{ if resumeArgs.wait || !resumeArgs.all {
Name: resume.list.resumeItem(i).asClientObject().GetName(), namespacedName := types.NamespacedName{
Namespace: *kubeconfigArgs.Namespace, Name: resume.list.resumeItem(i).asClientObject().GetName(),
} Namespace: *kubeconfigArgs.Namespace,
}
logger.Waitingf("waiting for %s reconciliation", resume.kind) logger.Waitingf("waiting for %s reconciliation", resume.kind)
if err := wait.PollImmediate(rootArgs.pollInterval, rootArgs.timeout, if err := wait.PollImmediate(rootArgs.pollInterval, rootArgs.timeout,
isReady(ctx, kubeClient, namespacedName, resume.list.resumeItem(i))); err != nil { isReady(ctx, kubeClient, namespacedName, resume.list.resumeItem(i))); err != nil {
logger.Failuref(err.Error()) logger.Failuref(err.Error())
continue continue
}
logger.Successf("%s reconciliation completed", resume.kind)
logger.Successf(resume.list.resumeItem(i).successMessage())
} }
logger.Successf("%s reconciliation completed", resume.kind)
logger.Successf(resume.list.resumeItem(i).successMessage())
} }
return nil return nil