mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-06 07:57:35 +00:00
Switch kubectl to use watch.Until
This commit is contained in:
committed by
Michail Kargakis
parent
158dc1a863
commit
5ad518cd2b
@@ -24,6 +24,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/kubectl"
|
||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||
"k8s.io/kubernetes/pkg/kubectl/resource"
|
||||
"k8s.io/kubernetes/pkg/util/interrupt"
|
||||
"k8s.io/kubernetes/pkg/watch"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
@@ -125,18 +126,22 @@ func RunStatus(f *cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []str
|
||||
}
|
||||
|
||||
// if the rollout isn't done yet, keep watching deployment status
|
||||
kubectl.WatchLoop(w, func(e watch.Event) error {
|
||||
// print deployment's status
|
||||
status, done, err := statusViewer.Status(cmdNamespace, info.Name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Fprintf(out, "%s", status)
|
||||
// Quit waiting if the rollout is done
|
||||
if done {
|
||||
w.Stop()
|
||||
}
|
||||
return nil
|
||||
intr := interrupt.New(nil, w.Stop)
|
||||
intr.Run(func() error {
|
||||
_, err := watch.Until(0, w, func(e watch.Event) (bool, error) {
|
||||
// print deployment's status
|
||||
status, done, err := statusViewer.Status(cmdNamespace, info.Name)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
fmt.Fprintf(out, "%s", status)
|
||||
// Quit waiting if the rollout is done
|
||||
if done {
|
||||
return true, nil
|
||||
}
|
||||
return false, nil
|
||||
})
|
||||
return err
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user