diff --git a/pkg/kube/client.go b/pkg/kube/client.go index cbef8fece..a5441f399 100644 --- a/pkg/kube/client.go +++ b/pkg/kube/client.go @@ -38,7 +38,6 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" "sigs.k8s.io/cli-utils/pkg/kstatus/watcher" - "sigs.k8s.io/controller-runtime/pkg/client/apiutil" multierror "github.com/hashicorp/go-multierror" "k8s.io/apimachinery/pkg/api/meta" @@ -52,7 +51,6 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/cli-runtime/pkg/genericclioptions" "k8s.io/cli-runtime/pkg/resource" - "k8s.io/client-go/dynamic" "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/rest" @@ -102,26 +100,11 @@ func init() { } func getStatusWatcher(factory Factory) (watcher.StatusWatcher, error) { - cfg, err := factory.ToRESTConfig() + dynamicClient, err := factory.DynamicClient() if err != nil { return nil, err } - // factory.DynamicClient() may be a better choice here - dynamicClient, err := dynamic.NewForConfig(cfg) - if err != nil { - return nil, err - } - // Not sure if I should use factory methods to get this http client or I should do this - // For example, I could likely use this as well, but it seems like I should use the factory methods instead - // httpClient, err := rest.HTTPClientFor(cfg) - // if err != nil { - // return err - // } - client, err := factory.RESTClient() - if err != nil { - return nil, err - } - restMapper, err := apiutil.NewDynamicRESTMapper(cfg, client.Client) + restMapper, err := factory.ToRESTMapper() if err != nil { return nil, err } @@ -141,9 +124,9 @@ func New(getter genericclioptions.RESTClientGetter, waiter Waiter) (*Client, err return nil, err } waiter = &kstatusWaiter{ - sw: sw, - log: nopLogger, - pausedAsReady: true} + sw: sw, + log: nopLogger, + } } return &Client{ Factory: factory, diff --git a/pkg/kube/kwait.go b/pkg/kube/kwait.go index 3d8cfb616..d0dcc9b60 100644 --- a/pkg/kube/kwait.go +++ b/pkg/kube/kwait.go @@ -34,9 +34,8 @@ import ( ) type kstatusWaiter struct { - sw watcher.StatusWatcher - log func(string, ...interface{}) - pausedAsReady bool + sw watcher.StatusWatcher + log func(string, ...interface{}) } func (w *kstatusWaiter) Wait(resourceList ResourceList, timeout time.Duration) error { @@ -62,7 +61,7 @@ func (w *kstatusWaiter) wait(ctx context.Context, resourceList ResourceList, wai continue } case *appsv1.Deployment: - if w.pausedAsReady && value.Spec.Paused { + if value.Spec.Paused { continue } } diff --git a/pkg/kube/kwait_test.go b/pkg/kube/kwait_test.go index 9598ca216..527d10a05 100644 --- a/pkg/kube/kwait_test.go +++ b/pkg/kube/kwait_test.go @@ -183,9 +183,8 @@ func TestKWaitJob(t *testing.T) { assert.NoError(t, err) } kwaiter := kstatusWaiter{ - sw: statusWatcher, - log: log.Printf, - pausedAsReady: tt.pausedAsReady, + sw: statusWatcher, + log: log.Printf, } resourceList := ResourceList{} @@ -195,8 +194,8 @@ func TestKWaitJob(t *testing.T) { resourceList = append(resourceList, list...) } - ctx, cancel := context.WithTimeout(context.Background(), time.Second*3) - defer cancel() + ctx, cancel := context.WithTimeout(context.Background(), time.Second*3) + defer cancel() err := kwaiter.wait(ctx, resourceList, tt.waitForJobs) if tt.expectErrs != nil {