1
0
mirror of https://github.com/rancher/norman.git synced 2025-06-26 15:32:07 +00:00

Update to k8s 1.18

This commit is contained in:
Darren Shepherd 2020-03-26 13:07:32 -07:00
parent 03ea93742b
commit f677c5bc3d
3 changed files with 23 additions and 22 deletions

View File

@ -1,6 +1,7 @@
package objectclient package objectclient
import ( import (
"context"
"encoding/json" "encoding/json"
"net/http" "net/http"
"strings" "strings"
@ -133,7 +134,7 @@ func (p *ObjectClient) Create(o runtime.Object) (runtime.Object, error) {
NamespaceIfScoped(ns, p.resource.Namespaced). NamespaceIfScoped(ns, p.resource.Namespaced).
Resource(p.resource.Name). Resource(p.resource.Name).
Body(o). Body(o).
Do(). Do(context.TODO()).
Into(result) Into(result)
return result, err return result, err
} }
@ -149,7 +150,7 @@ func (p *ObjectClient) GetNamespaced(namespace, name string, opts metav1.GetOpti
Resource(p.resource.Name). Resource(p.resource.Name).
VersionedParams(&opts, metav1.ParameterCodec). VersionedParams(&opts, metav1.ParameterCodec).
Name(name). Name(name).
Do(). Do(context.TODO()).
Into(result) 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) 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 return result, err
@ -164,7 +165,7 @@ func (p *ObjectClient) Get(name string, opts metav1.GetOptions) (runtime.Object,
Resource(p.resource.Name). Resource(p.resource.Name).
VersionedParams(&opts, metav1.ParameterCodec). VersionedParams(&opts, metav1.ParameterCodec).
Name(name). Name(name).
Do(). Do(context.TODO()).
Into(result) 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) 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 return result, err
@ -186,7 +187,7 @@ func (p *ObjectClient) Update(name string, o runtime.Object) (runtime.Object, er
Resource(p.resource.Name). Resource(p.resource.Name).
Name(name). Name(name).
Body(o). Body(o).
Do(). Do(context.TODO()).
Into(result) Into(result)
return result, err return result, err
} }
@ -201,7 +202,7 @@ func (p *ObjectClient) DeleteNamespaced(namespace, name string, opts *metav1.Del
return req.Resource(p.resource.Name). return req.Resource(p.resource.Name).
Name(name). Name(name).
Body(opts). Body(opts).
Do(). Do(context.TODO()).
Error() Error()
} }
@ -213,7 +214,7 @@ func (p *ObjectClient) Delete(name string, opts *metav1.DeleteOptions) error {
Resource(p.resource.Name). Resource(p.resource.Name).
Name(name). Name(name).
Body(opts). Body(opts).
Do(). Do(context.TODO()).
Error() Error()
} }
@ -225,7 +226,7 @@ func (p *ObjectClient) List(opts metav1.ListOptions) (runtime.Object, error) {
NamespaceIfScoped(p.ns, p.resource.Namespaced). NamespaceIfScoped(p.ns, p.resource.Namespaced).
Resource(p.resource.Name). Resource(p.resource.Name).
VersionedParams(&opts, metav1.ParameterCodec). VersionedParams(&opts, metav1.ParameterCodec).
Do(). Do(context.TODO()).
Into(result) Into(result)
} }
@ -237,7 +238,7 @@ func (p *ObjectClient) ListNamespaced(namespace string, opts metav1.ListOptions)
NamespaceIfScoped(namespace, p.resource.Namespaced). NamespaceIfScoped(namespace, p.resource.Namespaced).
Resource(p.resource.Name). Resource(p.resource.Name).
VersionedParams(&opts, metav1.ParameterCodec). VersionedParams(&opts, metav1.ParameterCodec).
Do(). Do(context.TODO()).
Into(result) Into(result)
} }
@ -253,7 +254,7 @@ func (p *ObjectClient) Watch(opts metav1.ListOptions) (watch.Interface, error) {
NamespaceIfScoped(p.ns, p.resource.Namespaced). NamespaceIfScoped(p.ns, p.resource.Namespaced).
Resource(p.resource.Name). Resource(p.resource.Name).
VersionedParams(&opts, metav1.ParameterCodec). VersionedParams(&opts, metav1.ParameterCodec).
Stream() Stream(context.TODO())
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -302,7 +303,7 @@ func (p *ObjectClient) DeleteCollection(deleteOptions *metav1.DeleteOptions, lis
Resource(p.resource.Name). Resource(p.resource.Name).
VersionedParams(&listOptions, metav1.ParameterCodec). VersionedParams(&listOptions, metav1.ParameterCodec).
Body(deleteOptions). Body(deleteOptions).
Do(). Do(context.TODO()).
Error() Error()
} }
@ -322,7 +323,7 @@ func (p *ObjectClient) Patch(name string, o runtime.Object, patchType types.Patc
SubResource(subresources...). SubResource(subresources...).
Name(name). Name(name).
Body(data). Body(data).
Do(). Do(context.TODO()).
Into(result) Into(result)
return result, err return result, err
} }

View File

@ -98,20 +98,20 @@ func (f *Factory) CreateCRDs(ctx context.Context, storageContext types.StorageCo
return nil, err return nil, err
} }
ready, err := f.getReadyCRDs(apiClient) ready, err := f.getReadyCRDs(ctx, apiClient)
if err != nil { if err != nil {
return nil, err return nil, err
} }
for _, schema := range schemas { for _, schema := range schemas {
crd, err := f.createCRD(apiClient, schema, ready) crd, err := f.createCRD(ctx, apiClient, schema, ready)
if err != nil { if err != nil {
return nil, err return nil, err
} }
schemaStatus[schema] = crd schemaStatus[schema] = crd
} }
ready, err = f.getReadyCRDs(apiClient) ready, err = f.getReadyCRDs(ctx, apiClient)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -140,7 +140,7 @@ func (f *Factory) waitCRD(ctx context.Context, apiClient clientset.Interface, cr
} }
first = false first = false
crd, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().Get(crdName, metav1.GetOptions{}) crd, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().Get(ctx, crdName, metav1.GetOptions{})
if err != nil { if err != nil {
return false, err 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) plural := strings.ToLower(schema.PluralName)
name := strings.ToLower(plural + "." + schema.Version.Group) 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) 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) { if errors.IsAlreadyExists(err) {
return crd, nil return crd, nil
} }
return crd2, err return crd2, err
} }
func (f *Factory) getReadyCRDs(apiClient clientset.Interface) (map[string]*apiext.CustomResourceDefinition, error) { func (f *Factory) getReadyCRDs(ctx context.Context, apiClient clientset.Interface) (map[string]*apiext.CustomResourceDefinition, error) {
list, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().List(metav1.ListOptions{}) list, err := apiClient.ApiextensionsV1beta1().CustomResourceDefinitions().List(ctx, metav1.ListOptions{})
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -134,7 +134,7 @@ func (s *Store) doAuthed(apiContext *types.APIContext, request *rest.Request) re
for _, header := range authHeaders { for _, header := range authHeaders {
request.SetHeader(header, apiContext.Request.Header[http.CanonicalHeaderKey(header)]...) 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) { 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()) req := s.common(namespace, k8sClient.Get())
start := time.Now() start := time.Now()
resultList = &unstructured.UnstructuredList{} 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) logrus.Tracef("LIST: %v, %v", time.Now().Sub(start), s.resourcePlural)
if err != nil { if err != nil {
if i < 2 && strings.Contains(err.Error(), "Client.Timeout exceeded") { 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", ResourceVersion: "0",
}, metav1.ParameterCodec) }, metav1.ParameterCodec)
body, err := req.Stream() body, err := req.Stream(apiContext.Request.Context())
if err != nil { if err != nil {
return nil, err return nil, err
} }