From f677c5bc3d309969b091ac6c2f53f0c2f3911596 Mon Sep 17 00:00:00 2001 From: Darren Shepherd Date: Thu, 26 Mar 2020 13:07:32 -0700 Subject: [PATCH] Update to k8s 1.18 --- objectclient/object_client.go | 23 ++++++++++++----------- store/crd/init.go | 16 ++++++++-------- store/proxy/proxy_store.go | 6 +++--- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/objectclient/object_client.go b/objectclient/object_client.go index 70ca0803..fc251b1b 100644 --- a/objectclient/object_client.go +++ b/objectclient/object_client.go @@ -1,6 +1,7 @@ package objectclient import ( + "context" "encoding/json" "net/http" "strings" @@ -133,7 +134,7 @@ func (p *ObjectClient) Create(o runtime.Object) (runtime.Object, error) { NamespaceIfScoped(ns, p.resource.Namespaced). Resource(p.resource.Name). Body(o). - Do(). + Do(context.TODO()). Into(result) return result, err } @@ -149,7 +150,7 @@ func (p *ObjectClient) GetNamespaced(namespace, name string, opts metav1.GetOpti Resource(p.resource.Name). VersionedParams(&opts, metav1.ParameterCodec). Name(name). - Do(). + Do(context.TODO()). Into(result) logrus.Tracef("REST GET %s/%s/%s/%s/%s/%s", p.getAPIPrefix(), p.gvk.Group, p.gvk.Version, namespace, p.resource.Name, name) return result, err @@ -164,7 +165,7 @@ func (p *ObjectClient) Get(name string, opts metav1.GetOptions) (runtime.Object, Resource(p.resource.Name). VersionedParams(&opts, metav1.ParameterCodec). Name(name). - Do(). + Do(context.TODO()). Into(result) logrus.Tracef("REST GET %s/%s/%s/%s/%s/%s", p.getAPIPrefix(), p.gvk.Group, p.gvk.Version, p.ns, p.resource.Name, name) return result, err @@ -186,7 +187,7 @@ func (p *ObjectClient) Update(name string, o runtime.Object) (runtime.Object, er Resource(p.resource.Name). Name(name). Body(o). - Do(). + Do(context.TODO()). Into(result) return result, err } @@ -201,7 +202,7 @@ func (p *ObjectClient) DeleteNamespaced(namespace, name string, opts *metav1.Del return req.Resource(p.resource.Name). Name(name). Body(opts). - Do(). + Do(context.TODO()). Error() } @@ -213,7 +214,7 @@ func (p *ObjectClient) Delete(name string, opts *metav1.DeleteOptions) error { Resource(p.resource.Name). Name(name). Body(opts). - Do(). + Do(context.TODO()). Error() } @@ -225,7 +226,7 @@ func (p *ObjectClient) List(opts metav1.ListOptions) (runtime.Object, error) { NamespaceIfScoped(p.ns, p.resource.Namespaced). Resource(p.resource.Name). VersionedParams(&opts, metav1.ParameterCodec). - Do(). + Do(context.TODO()). Into(result) } @@ -237,7 +238,7 @@ func (p *ObjectClient) ListNamespaced(namespace string, opts metav1.ListOptions) NamespaceIfScoped(namespace, p.resource.Namespaced). Resource(p.resource.Name). VersionedParams(&opts, metav1.ParameterCodec). - Do(). + Do(context.TODO()). Into(result) } @@ -253,7 +254,7 @@ func (p *ObjectClient) Watch(opts metav1.ListOptions) (watch.Interface, error) { NamespaceIfScoped(p.ns, p.resource.Namespaced). Resource(p.resource.Name). VersionedParams(&opts, metav1.ParameterCodec). - Stream() + Stream(context.TODO()) if err != nil { return nil, err } @@ -302,7 +303,7 @@ func (p *ObjectClient) DeleteCollection(deleteOptions *metav1.DeleteOptions, lis Resource(p.resource.Name). VersionedParams(&listOptions, metav1.ParameterCodec). Body(deleteOptions). - Do(). + Do(context.TODO()). Error() } @@ -322,7 +323,7 @@ func (p *ObjectClient) Patch(name string, o runtime.Object, patchType types.Patc SubResource(subresources...). Name(name). Body(data). - Do(). + Do(context.TODO()). Into(result) return result, err } diff --git a/store/crd/init.go b/store/crd/init.go index 253ffe83..b9d1ccdb 100644 --- a/store/crd/init.go +++ b/store/crd/init.go @@ -98,20 +98,20 @@ func (f *Factory) CreateCRDs(ctx context.Context, storageContext types.StorageCo return nil, err } - ready, err := f.getReadyCRDs(apiClient) + ready, err := f.getReadyCRDs(ctx, apiClient) if err != nil { return nil, err } for _, schema := range schemas { - crd, err := f.createCRD(apiClient, schema, ready) + crd, err := f.createCRD(ctx, apiClient, schema, ready) if err != nil { return nil, err } schemaStatus[schema] = crd } - ready, err = f.getReadyCRDs(apiClient) + ready, err = f.getReadyCRDs(ctx, apiClient) if err != nil { return nil, err } @@ -140,7 +140,7 @@ func (f *Factory) waitCRD(ctx context.Context, apiClient clientset.Interface, cr } first = false - crd, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().Get(crdName, metav1.GetOptions{}) + crd, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().Get(ctx, crdName, metav1.GetOptions{}) if err != nil { return false, err } @@ -163,7 +163,7 @@ func (f *Factory) waitCRD(ctx context.Context, apiClient clientset.Interface, cr }) } -func (f *Factory) createCRD(apiClient clientset.Interface, schema *types.Schema, ready map[string]*apiext.CustomResourceDefinition) (*apiext.CustomResourceDefinition, error) { +func (f *Factory) createCRD(ctx context.Context, apiClient clientset.Interface, schema *types.Schema, ready map[string]*apiext.CustomResourceDefinition) (*apiext.CustomResourceDefinition, error) { plural := strings.ToLower(schema.PluralName) name := strings.ToLower(plural + "." + schema.Version.Group) @@ -193,15 +193,15 @@ func (f *Factory) createCRD(apiClient clientset.Interface, schema *types.Schema, } logrus.Infof("Creating CRD %s", name) - crd2, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd) + crd2, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().Create(ctx, crd, metav1.CreateOptions{}) if errors.IsAlreadyExists(err) { return crd, nil } return crd2, err } -func (f *Factory) getReadyCRDs(apiClient clientset.Interface) (map[string]*apiext.CustomResourceDefinition, error) { - list, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().List(metav1.ListOptions{}) +func (f *Factory) getReadyCRDs(ctx context.Context, apiClient clientset.Interface) (map[string]*apiext.CustomResourceDefinition, error) { + list, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().List(ctx, metav1.ListOptions{}) if err != nil { return nil, err } diff --git a/store/proxy/proxy_store.go b/store/proxy/proxy_store.go index c5f35d11..545b429d 100644 --- a/store/proxy/proxy_store.go +++ b/store/proxy/proxy_store.go @@ -134,7 +134,7 @@ func (s *Store) doAuthed(apiContext *types.APIContext, request *rest.Request) re for _, header := range authHeaders { request.SetHeader(header, apiContext.Request.Header[http.CanonicalHeaderKey(header)]...) } - return request.Do() + return request.Do(apiContext.Request.Context()) } func (s *Store) k8sClient(apiContext *types.APIContext) (rest.Interface, error) { @@ -250,7 +250,7 @@ func (s *Store) retryList(namespace string, apiContext *types.APIContext) (*unst req := s.common(namespace, k8sClient.Get()) start := time.Now() resultList = &unstructured.UnstructuredList{} - err = req.Do().Into(resultList) + err = req.Do(apiContext.Request.Context()).Into(resultList) logrus.Tracef("LIST: %v, %v", time.Now().Sub(start), s.resourcePlural) if err != nil { if i < 2 && strings.Contains(err.Error(), "Client.Timeout exceeded") { @@ -296,7 +296,7 @@ func (s *Store) realWatch(apiContext *types.APIContext, schema *types.Schema, op ResourceVersion: "0", }, metav1.ParameterCodec) - body, err := req.Stream() + body, err := req.Stream(apiContext.Request.Context()) if err != nil { return nil, err }