From 3cb771a8662ae7d1f79580e0ea9861fd6ab4ecc0 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 10 Jul 2018 17:23:29 -0400 Subject: [PATCH 1/3] Use storage directly for scale subresources --- pkg/master/master.go | 4 +- pkg/master/reconcilers/lease.go | 16 +++++--- .../apps/deployment/storage/storage.go | 16 ++++---- .../apps/replicaset/storage/storage.go | 16 ++++---- .../apps/statefulset/storage/storage.go | 16 ++++---- .../replicationcontroller/storage/storage.go | 16 ++++---- .../extensions/controller/storage/storage.go | 18 ++++---- pkg/registry/registrytest/endpoint.go | 41 ++++++++++++++----- .../pkg/registry/customresource/etcd.go | 16 ++++---- 9 files changed, 97 insertions(+), 62 deletions(-) diff --git a/pkg/master/master.go b/pkg/master/master.go index 1df5565289b..369f1ca80b2 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -70,7 +70,6 @@ import ( kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master/reconcilers" "k8s.io/kubernetes/pkg/master/tunneler" - "k8s.io/kubernetes/pkg/registry/core/endpoint" endpointsstorage "k8s.io/kubernetes/pkg/registry/core/endpoint/storage" "k8s.io/kubernetes/pkg/routes" "k8s.io/kubernetes/pkg/serviceaccount" @@ -228,9 +227,8 @@ func (c *Config) createLeaseReconciler() reconcilers.EndpointReconciler { DeleteCollectionWorkers: 0, ResourcePrefix: c.ExtraConfig.StorageFactory.ResourcePrefix(api.Resource("endpoints")), }) - endpointRegistry := endpoint.NewRegistry(endpointsStorage) masterLeases := reconcilers.NewLeases(leaseStorage, "/masterleases/", ttl) - return reconcilers.NewLeaseEndpointReconciler(endpointRegistry, masterLeases) + return reconcilers.NewLeaseEndpointReconciler(endpointsStorage.Store, masterLeases) } func (c *Config) createEndpointReconciler() reconcilers.EndpointReconciler { diff --git a/pkg/master/reconcilers/lease.go b/pkg/master/reconcilers/lease.go index 179f129c5ee..65a397db0b3 100644 --- a/pkg/master/reconcilers/lease.go +++ b/pkg/master/reconcilers/lease.go @@ -29,6 +29,7 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kruntime "k8s.io/apimachinery/pkg/runtime" @@ -37,7 +38,6 @@ import ( "k8s.io/apiserver/pkg/storage" "k8s.io/kubernetes/pkg/api/endpoints" api "k8s.io/kubernetes/pkg/apis/core" - "k8s.io/kubernetes/pkg/registry/core/endpoint" ) // Leases is an interface which assists in managing the set of active masters @@ -119,16 +119,16 @@ func NewLeases(storage storage.Interface, baseKey string, leaseTime time.Duratio } type leaseEndpointReconciler struct { - endpointRegistry endpoint.Registry + endpointStorage rest.StandardStorage masterLeases Leases stopReconcilingCalled bool reconcilingLock sync.Mutex } // NewLeaseEndpointReconciler creates a new LeaseEndpoint reconciler -func NewLeaseEndpointReconciler(endpointRegistry endpoint.Registry, masterLeases Leases) EndpointReconciler { +func NewLeaseEndpointReconciler(endpointStorage rest.StandardStorage, masterLeases Leases) EndpointReconciler { return &leaseEndpointReconciler{ - endpointRegistry: endpointRegistry, + endpointStorage: endpointStorage, masterLeases: masterLeases, stopReconcilingCalled: false, } @@ -163,7 +163,8 @@ func (r *leaseEndpointReconciler) doReconcile(serviceName string, endpointPorts ctx := apirequest.NewDefaultContext() // Retrieve the current list of endpoints... - e, err := r.endpointRegistry.GetEndpoints(ctx, serviceName, &metav1.GetOptions{}) + var e *api.Endpoints + obj, err := r.endpointStorage.Get(ctx, serviceName, &metav1.GetOptions{}) if err != nil { if !errors.IsNotFound(err) { return err @@ -175,6 +176,8 @@ func (r *leaseEndpointReconciler) doReconcile(serviceName string, endpointPorts Namespace: api.NamespaceDefault, }, } + } else { + e = obj.(*api.Endpoints) } // ... and the list of master IP keys from etcd @@ -221,7 +224,8 @@ func (r *leaseEndpointReconciler) doReconcile(serviceName string, endpointPorts } glog.Warningf("Resetting endpoints for master service %q to %v", serviceName, masterIPs) - return r.endpointRegistry.UpdateEndpoints(ctx, e, rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, &metav1.UpdateOptions{}) + _, _, err = r.endpointStorage.Update(ctx, e.Name, rest.DefaultUpdatedObjectInfo(e), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}) + return err } // checkEndpointSubsetFormatWithLease determines if the endpoint is in the diff --git a/pkg/registry/apps/deployment/storage/storage.go b/pkg/registry/apps/deployment/storage/storage.go index 2bedd8a11e2..1298967bf16 100644 --- a/pkg/registry/apps/deployment/storage/storage.go +++ b/pkg/registry/apps/deployment/storage/storage.go @@ -55,12 +55,11 @@ type DeploymentStorage struct { func NewStorage(optsGetter generic.RESTOptionsGetter) DeploymentStorage { deploymentRest, deploymentStatusRest, deploymentRollbackRest := NewREST(optsGetter) - deploymentRegistry := deployment.NewRegistry(deploymentRest) return DeploymentStorage{ Deployment: deploymentRest, Status: deploymentStatusRest, - Scale: &ScaleREST{registry: deploymentRegistry}, + Scale: &ScaleREST{store: deploymentRest.Store}, Rollback: deploymentRollbackRest, } } @@ -220,7 +219,7 @@ func (r *RollbackREST) setDeploymentRollback(ctx context.Context, deploymentID s } type ScaleREST struct { - registry deployment.Registry + store *genericregistry.Store } // ScaleREST implements Patcher @@ -246,10 +245,11 @@ func (r *ScaleREST) New() runtime.Object { } func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { - deployment, err := r.registry.GetDeployment(ctx, name, options) + obj, err := r.store.Get(ctx, name, options) if err != nil { return nil, errors.NewNotFound(extensions.Resource("deployments/scale"), name) } + deployment := obj.(*extensions.Deployment) scale, err := scaleFromDeployment(deployment) if err != nil { return nil, errors.NewBadRequest(fmt.Sprintf("%v", err)) @@ -258,17 +258,18 @@ func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOpt } func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, forceAllowCreate bool, options *metav1.UpdateOptions) (runtime.Object, bool, error) { - deployment, err := r.registry.GetDeployment(ctx, name, &metav1.GetOptions{}) + obj, err := r.store.Get(ctx, name, &metav1.GetOptions{}) if err != nil { return nil, false, errors.NewNotFound(extensions.Resource("deployments/scale"), name) } + deployment := obj.(*extensions.Deployment) oldScale, err := scaleFromDeployment(deployment) if err != nil { return nil, false, err } - obj, err := objInfo.UpdatedObject(ctx, oldScale) + obj, err = objInfo.UpdatedObject(ctx, oldScale) if err != nil { return nil, false, err } @@ -286,10 +287,11 @@ func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.Update deployment.Spec.Replicas = scale.Spec.Replicas deployment.ResourceVersion = scale.ResourceVersion - deployment, err = r.registry.UpdateDeployment(ctx, deployment, createValidation, updateValidation, options) + obj, _, err = r.store.Update(ctx, deployment.Name, rest.DefaultUpdatedObjectInfo(deployment), createValidation, updateValidation, false, options) if err != nil { return nil, false, err } + deployment = obj.(*extensions.Deployment) newScale, err := scaleFromDeployment(deployment) if err != nil { return nil, false, errors.NewBadRequest(fmt.Sprintf("%v", err)) diff --git a/pkg/registry/apps/replicaset/storage/storage.go b/pkg/registry/apps/replicaset/storage/storage.go index 2ffa3f2b791..87c8155fc9e 100644 --- a/pkg/registry/apps/replicaset/storage/storage.go +++ b/pkg/registry/apps/replicaset/storage/storage.go @@ -51,12 +51,11 @@ type ReplicaSetStorage struct { func NewStorage(optsGetter generic.RESTOptionsGetter) ReplicaSetStorage { replicaSetRest, replicaSetStatusRest := NewREST(optsGetter) - replicaSetRegistry := replicaset.NewRegistry(replicaSetRest) return ReplicaSetStorage{ ReplicaSet: replicaSetRest, Status: replicaSetStatusRest, - Scale: &ScaleREST{registry: replicaSetRegistry}, + Scale: &ScaleREST{store: replicaSetRest.Store}, } } @@ -133,7 +132,7 @@ func (r *StatusREST) Update(ctx context.Context, name string, objInfo rest.Updat } type ScaleREST struct { - registry replicaset.Registry + store *genericregistry.Store } // ScaleREST implements Patcher @@ -159,10 +158,11 @@ func (r *ScaleREST) New() runtime.Object { } func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { - rs, err := r.registry.GetReplicaSet(ctx, name, options) + obj, err := r.store.Get(ctx, name, options) if err != nil { return nil, errors.NewNotFound(extensions.Resource("replicasets/scale"), name) } + rs := obj.(*extensions.ReplicaSet) scale, err := scaleFromReplicaSet(rs) if err != nil { return nil, errors.NewBadRequest(fmt.Sprintf("%v", err)) @@ -171,10 +171,11 @@ func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOpt } func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, forceAllowCreate bool, options *metav1.UpdateOptions) (runtime.Object, bool, error) { - rs, err := r.registry.GetReplicaSet(ctx, name, &metav1.GetOptions{}) + obj, err := r.store.Get(ctx, name, &metav1.GetOptions{}) if err != nil { return nil, false, errors.NewNotFound(extensions.Resource("replicasets/scale"), name) } + rs := obj.(*extensions.ReplicaSet) oldScale, err := scaleFromReplicaSet(rs) if err != nil { @@ -182,7 +183,7 @@ func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.Update } // TODO: should this pass admission? - obj, err := objInfo.UpdatedObject(ctx, oldScale) + obj, err = objInfo.UpdatedObject(ctx, oldScale) if err != nil { return nil, false, err } @@ -200,10 +201,11 @@ func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.Update rs.Spec.Replicas = scale.Spec.Replicas rs.ResourceVersion = scale.ResourceVersion - rs, err = r.registry.UpdateReplicaSet(ctx, rs, createValidation, updateValidation, options) + obj, _, err = r.store.Update(ctx, rs.Name, rest.DefaultUpdatedObjectInfo(rs), createValidation, updateValidation, false, options) if err != nil { return nil, false, err } + rs = obj.(*extensions.ReplicaSet) newScale, err := scaleFromReplicaSet(rs) if err != nil { return nil, false, errors.NewBadRequest(fmt.Sprintf("%v", err)) diff --git a/pkg/registry/apps/statefulset/storage/storage.go b/pkg/registry/apps/statefulset/storage/storage.go index 670ce41e814..9808a4cadbc 100644 --- a/pkg/registry/apps/statefulset/storage/storage.go +++ b/pkg/registry/apps/statefulset/storage/storage.go @@ -49,12 +49,11 @@ type StatefulSetStorage struct { func NewStorage(optsGetter generic.RESTOptionsGetter) StatefulSetStorage { statefulSetRest, statefulSetStatusRest := NewREST(optsGetter) - statefulSetRegistry := statefulset.NewRegistry(statefulSetRest) return StatefulSetStorage{ StatefulSet: statefulSetRest, Status: statefulSetStatusRest, - Scale: &ScaleREST{registry: statefulSetRegistry}, + Scale: &ScaleREST{store: statefulSetRest.Store}, } } @@ -124,7 +123,7 @@ func (r *REST) ShortNames() []string { } type ScaleREST struct { - registry statefulset.Registry + store *genericregistry.Store } // ScaleREST implements Patcher @@ -148,10 +147,11 @@ func (r *ScaleREST) New() runtime.Object { } func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { - ss, err := r.registry.GetStatefulSet(ctx, name, options) + obj, err := r.store.Get(ctx, name, options) if err != nil { return nil, err } + ss := obj.(*apps.StatefulSet) scale, err := scaleFromStatefulSet(ss) if err != nil { return nil, errors.NewBadRequest(fmt.Sprintf("%v", err)) @@ -160,17 +160,18 @@ func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOpt } func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, forceAllowCreate bool, options *metav1.UpdateOptions) (runtime.Object, bool, error) { - ss, err := r.registry.GetStatefulSet(ctx, name, &metav1.GetOptions{}) + obj, err := r.store.Get(ctx, name, &metav1.GetOptions{}) if err != nil { return nil, false, err } + ss := obj.(*apps.StatefulSet) oldScale, err := scaleFromStatefulSet(ss) if err != nil { return nil, false, err } - obj, err := objInfo.UpdatedObject(ctx, oldScale) + obj, err = objInfo.UpdatedObject(ctx, oldScale) if err != nil { return nil, false, err } @@ -188,10 +189,11 @@ func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.Update ss.Spec.Replicas = scale.Spec.Replicas ss.ResourceVersion = scale.ResourceVersion - ss, err = r.registry.UpdateStatefulSet(ctx, ss, createValidation, updateValidation, options) + obj, _, err = r.store.Update(ctx, ss.Name, rest.DefaultUpdatedObjectInfo(ss), createValidation, updateValidation, false, options) if err != nil { return nil, false, err } + ss = obj.(*apps.StatefulSet) newScale, err := scaleFromStatefulSet(ss) if err != nil { return nil, false, errors.NewBadRequest(fmt.Sprintf("%v", err)) diff --git a/pkg/registry/core/replicationcontroller/storage/storage.go b/pkg/registry/core/replicationcontroller/storage/storage.go index d193e7b2102..0422a93367e 100644 --- a/pkg/registry/core/replicationcontroller/storage/storage.go +++ b/pkg/registry/core/replicationcontroller/storage/storage.go @@ -50,12 +50,11 @@ type ControllerStorage struct { func NewStorage(optsGetter generic.RESTOptionsGetter) ControllerStorage { controllerREST, statusREST := NewREST(optsGetter) - controllerRegistry := replicationcontroller.NewRegistry(controllerREST) return ControllerStorage{ Controller: controllerREST, Status: statusREST, - Scale: &ScaleREST{registry: controllerRegistry}, + Scale: &ScaleREST{store: controllerREST.Store}, } } @@ -126,7 +125,7 @@ func (r *StatusREST) Update(ctx context.Context, name string, objInfo rest.Updat } type ScaleREST struct { - registry replicationcontroller.Registry + store *genericregistry.Store } // ScaleREST implements Patcher @@ -148,22 +147,24 @@ func (r *ScaleREST) New() runtime.Object { } func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { - rc, err := r.registry.GetController(ctx, name, options) + obj, err := r.store.Get(ctx, name, options) if err != nil { return nil, errors.NewNotFound(autoscaling.Resource("replicationcontrollers/scale"), name) } + rc := obj.(*api.ReplicationController) return scaleFromRC(rc), nil } func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, forceAllowCreate bool, options *metav1.UpdateOptions) (runtime.Object, bool, error) { - rc, err := r.registry.GetController(ctx, name, &metav1.GetOptions{}) + obj, err := r.store.Get(ctx, name, &metav1.GetOptions{}) if err != nil { return nil, false, errors.NewNotFound(autoscaling.Resource("replicationcontrollers/scale"), name) } + rc := obj.(*api.ReplicationController) oldScale := scaleFromRC(rc) // TODO: should this pass validation? - obj, err := objInfo.UpdatedObject(ctx, oldScale) + obj, err = objInfo.UpdatedObject(ctx, oldScale) if err != nil { return nil, false, err } @@ -182,10 +183,11 @@ func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.Update rc.Spec.Replicas = scale.Spec.Replicas rc.ResourceVersion = scale.ResourceVersion - rc, err = r.registry.UpdateController(ctx, rc, createValidation, updateValidation, options) + obj, _, err = r.store.Update(ctx, rc.Name, rest.DefaultUpdatedObjectInfo(rc), createValidation, updateValidation, false, options) if err != nil { return nil, false, err } + rc = obj.(*api.ReplicationController) return scaleFromRC(rc), false, nil } diff --git a/pkg/registry/extensions/controller/storage/storage.go b/pkg/registry/extensions/controller/storage/storage.go index 011427fdd14..18caae3694b 100644 --- a/pkg/registry/extensions/controller/storage/storage.go +++ b/pkg/registry/extensions/controller/storage/storage.go @@ -25,12 +25,12 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/registry/generic" + genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" "k8s.io/apiserver/pkg/registry/rest" "k8s.io/kubernetes/pkg/apis/autoscaling" autoscalingvalidation "k8s.io/kubernetes/pkg/apis/autoscaling/validation" api "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/registry/core/replicationcontroller" controllerstore "k8s.io/kubernetes/pkg/registry/core/replicationcontroller/storage" ) @@ -43,16 +43,15 @@ type ContainerStorage struct { func NewStorage(optsGetter generic.RESTOptionsGetter) ContainerStorage { // scale does not set status, only updates spec so we ignore the status controllerREST, _ := controllerstore.NewREST(optsGetter) - rcRegistry := replicationcontroller.NewRegistry(controllerREST) return ContainerStorage{ ReplicationController: &RcREST{}, - Scale: &ScaleREST{registry: &rcRegistry}, + Scale: &ScaleREST{store: controllerREST.Store}, } } type ScaleREST struct { - registry *replicationcontroller.Registry + store *genericregistry.Store } // ScaleREST implements Patcher @@ -64,21 +63,23 @@ func (r *ScaleREST) New() runtime.Object { } func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { - rc, err := (*r.registry).GetController(ctx, name, options) + obj, err := r.store.Get(ctx, name, options) if err != nil { return nil, errors.NewNotFound(extensions.Resource("replicationcontrollers/scale"), name) } + rc := obj.(*api.ReplicationController) return scaleFromRC(rc), nil } func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, forceAllowCreate bool, options *metav1.UpdateOptions) (runtime.Object, bool, error) { - rc, err := (*r.registry).GetController(ctx, name, &metav1.GetOptions{}) + obj, err := r.store.Get(ctx, name, &metav1.GetOptions{}) if err != nil { return nil, false, errors.NewNotFound(extensions.Resource("replicationcontrollers/scale"), name) } + rc := obj.(*api.ReplicationController) oldScale := scaleFromRC(rc) - obj, err := objInfo.UpdatedObject(ctx, oldScale) + obj, err = objInfo.UpdatedObject(ctx, oldScale) if obj == nil { return nil, false, errors.NewBadRequest(fmt.Sprintf("nil update passed to Scale")) @@ -94,10 +95,11 @@ func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.Update rc.Spec.Replicas = scale.Spec.Replicas rc.ResourceVersion = scale.ResourceVersion - rc, err = (*r.registry).UpdateController(ctx, rc, createValidation, updateValidation, options) + obj, _, err = r.store.Update(ctx, rc.Name, rest.DefaultUpdatedObjectInfo(rc), createValidation, updateValidation, false, options) if err != nil { return nil, false, errors.NewConflict(extensions.Resource("replicationcontrollers/scale"), scale.Name, err) } + rc = obj.(*api.ReplicationController) return scaleFromRC(rc), false, nil } diff --git a/pkg/registry/registrytest/endpoint.go b/pkg/registry/registrytest/endpoint.go index f2c49d6b1a9..c36a494282b 100644 --- a/pkg/registry/registrytest/endpoint.go +++ b/pkg/registry/registrytest/endpoint.go @@ -24,6 +24,7 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" "k8s.io/apiserver/pkg/registry/rest" api "k8s.io/kubernetes/pkg/apis/core" @@ -38,7 +39,7 @@ type EndpointRegistry struct { lock sync.Mutex } -func (e *EndpointRegistry) ListEndpoints(ctx context.Context, options *metainternalversion.ListOptions) (*api.EndpointsList, error) { +func (e *EndpointRegistry) List(ctx context.Context, options *metainternalversion.ListOptions) (runtime.Object, error) { // TODO: support namespaces in this mock e.lock.Lock() defer e.lock.Unlock() @@ -46,7 +47,14 @@ func (e *EndpointRegistry) ListEndpoints(ctx context.Context, options *metainter return e.Endpoints, e.Err } -func (e *EndpointRegistry) GetEndpoints(ctx context.Context, name string, options *metav1.GetOptions) (*api.Endpoints, error) { +func (e *EndpointRegistry) New() runtime.Object { + return &api.Endpoints{} +} +func (e *EndpointRegistry) NewList() runtime.Object { + return &api.EndpointsList{} +} + +func (e *EndpointRegistry) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { // TODO: support namespaces in this mock e.lock.Lock() defer e.lock.Unlock() @@ -63,11 +71,20 @@ func (e *EndpointRegistry) GetEndpoints(ctx context.Context, name string, option return nil, errors.NewNotFound(api.Resource("endpoints"), name) } -func (e *EndpointRegistry) WatchEndpoints(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { +func (e *EndpointRegistry) Watch(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { return nil, fmt.Errorf("unimplemented!") } -func (e *EndpointRegistry) UpdateEndpoints(ctx context.Context, endpoints *api.Endpoints, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error { +func (e *EndpointRegistry) Create(ctx context.Context, endpoints runtime.Object, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (runtime.Object, error) { + return nil, fmt.Errorf("unimplemented!") +} + +func (e *EndpointRegistry) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, forceAllowCreateOnUpdate bool, options *metav1.UpdateOptions) (runtime.Object, bool, error) { + obj, err := objInfo.UpdatedObject(ctx, nil) + if err != nil { + return nil, false, err + } + endpoints := obj.(*api.Endpoints) // TODO: support namespaces in this mock e.lock.Lock() defer e.lock.Unlock() @@ -75,7 +92,7 @@ func (e *EndpointRegistry) UpdateEndpoints(ctx context.Context, endpoints *api.E e.Updates = append(e.Updates, *endpoints) if e.Err != nil { - return e.Err + return nil, false, e.Err } if e.Endpoints == nil { e.Endpoints = &api.EndpointsList{ @@ -83,7 +100,7 @@ func (e *EndpointRegistry) UpdateEndpoints(ctx context.Context, endpoints *api.E *endpoints, }, } - return nil + return endpoints, false, nil } for ix := range e.Endpoints.Items { if e.Endpoints.Items[ix].Name == endpoints.Name { @@ -91,15 +108,15 @@ func (e *EndpointRegistry) UpdateEndpoints(ctx context.Context, endpoints *api.E } } e.Endpoints.Items = append(e.Endpoints.Items, *endpoints) - return nil + return endpoints, false, nil } -func (e *EndpointRegistry) DeleteEndpoints(ctx context.Context, name string) error { +func (e *EndpointRegistry) Delete(ctx context.Context, name string, options *metav1.DeleteOptions) (runtime.Object, bool, error) { // TODO: support namespaces in this mock e.lock.Lock() defer e.lock.Unlock() if e.Err != nil { - return e.Err + return nil, false, e.Err } if e.Endpoints != nil { var newList []api.Endpoints @@ -110,5 +127,9 @@ func (e *EndpointRegistry) DeleteEndpoints(ctx context.Context, name string) err } e.Endpoints.Items = newList } - return nil + return nil, true, nil +} + +func (e *EndpointRegistry) DeleteCollection(ctx context.Context, _ *metav1.DeleteOptions, _ *metainternalversion.ListOptions) (runtime.Object, error) { + return nil, fmt.Errorf("unimplemented!") } diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/etcd.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/etcd.go index 3e0552f132e..0a94bc5c494 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/etcd.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/etcd.go @@ -42,7 +42,6 @@ type CustomResourceStorage struct { func NewStorage(resource schema.GroupResource, listKind schema.GroupVersionKind, strategy customResourceStrategy, optsGetter generic.RESTOptionsGetter, categories []string, tableConvertor rest.TableConvertor) CustomResourceStorage { customResourceREST, customResourceStatusREST := newREST(resource, listKind, strategy, optsGetter, categories, tableConvertor) - customResourceRegistry := NewRegistry(customResourceREST) s := CustomResourceStorage{ CustomResource: customResourceREST, @@ -59,7 +58,7 @@ func NewStorage(resource schema.GroupResource, listKind schema.GroupVersionKind, } s.Scale = &ScaleREST{ - registry: customResourceRegistry, + store: customResourceREST.Store, specReplicasPath: scale.SpecReplicasPath, statusReplicasPath: scale.StatusReplicasPath, labelSelectorPath: labelSelectorPath, @@ -189,7 +188,7 @@ func (r *StatusREST) Update(ctx context.Context, name string, objInfo rest.Updat } type ScaleREST struct { - registry Registry + store *genericregistry.Store specReplicasPath string statusReplicasPath string labelSelectorPath string @@ -209,10 +208,11 @@ func (r *ScaleREST) New() runtime.Object { } func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { - cr, err := r.registry.GetCustomResource(ctx, name, options) + obj, err := r.store.Get(ctx, name, options) if err != nil { return nil, err } + cr := obj.(*unstructured.Unstructured) scaleObject, replicasFound, err := scaleFromCustomResource(cr, r.specReplicasPath, r.statusReplicasPath, r.labelSelectorPath) if err != nil { @@ -225,10 +225,11 @@ func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOpt } func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, forceAllowCreate bool, options *metav1.UpdateOptions) (runtime.Object, bool, error) { - cr, err := r.registry.GetCustomResource(ctx, name, &metav1.GetOptions{}) + obj, err := r.store.Get(ctx, name, &metav1.GetOptions{}) if err != nil { return nil, false, err } + cr := obj.(*unstructured.Unstructured) const invalidSpecReplicas = -2147483648 // smallest int32 oldScale, replicasFound, err := scaleFromCustomResource(cr, r.specReplicasPath, r.statusReplicasPath, r.labelSelectorPath) @@ -239,7 +240,7 @@ func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.Update oldScale.Spec.Replicas = invalidSpecReplicas // signal that this was not set before } - obj, err := objInfo.UpdatedObject(ctx, oldScale) + obj, err = objInfo.UpdatedObject(ctx, oldScale) if err != nil { return nil, false, err } @@ -262,10 +263,11 @@ func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.Update } cr.SetResourceVersion(scale.ResourceVersion) - cr, err = r.registry.UpdateCustomResource(ctx, cr, createValidation, updateValidation, options) + obj, _, err = r.store.Update(ctx, cr.GetName(), rest.DefaultUpdatedObjectInfo(cr), createValidation, updateValidation, false, options) if err != nil { return nil, false, err } + cr = obj.(*unstructured.Unstructured) newScale, _, err := scaleFromCustomResource(cr, r.specReplicasPath, r.statusReplicasPath, r.labelSelectorPath) if err != nil { From 617078d220cfa28d35c519e5b91e7f42a0902467 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 10 Jul 2018 17:15:38 -0400 Subject: [PATCH 2/3] Remove hand-written typed registries --- pkg/registry/apps/deployment/registry.go | 86 -------------- pkg/registry/apps/replicaset/registry.go | 95 ---------------- pkg/registry/apps/statefulset/registry.go | 94 ---------------- .../certificates/certificates/registry.go | 84 -------------- pkg/registry/core/configmap/registry.go | 93 ---------------- pkg/registry/core/endpoint/registry.go | 77 ------------- pkg/registry/core/namespace/registry.go | 83 -------------- pkg/registry/core/node/registry.go | 84 -------------- .../core/replicationcontroller/registry.go | 95 ---------------- pkg/registry/core/service/registry.go | 105 ------------------ .../networking/networkpolicy/registry.go | 84 -------------- .../scheduling/priorityclass/registry.go | 84 -------------- pkg/registry/settings/podpreset/registry.go | 84 -------------- .../pkg/registry/customresource/registry.go | 104 ----------------- 14 files changed, 1252 deletions(-) delete mode 100644 pkg/registry/apps/deployment/registry.go delete mode 100644 pkg/registry/apps/replicaset/registry.go delete mode 100644 pkg/registry/apps/statefulset/registry.go delete mode 100644 pkg/registry/certificates/certificates/registry.go delete mode 100644 pkg/registry/core/configmap/registry.go delete mode 100644 pkg/registry/core/endpoint/registry.go delete mode 100644 pkg/registry/core/namespace/registry.go delete mode 100644 pkg/registry/core/node/registry.go delete mode 100644 pkg/registry/core/replicationcontroller/registry.go delete mode 100644 pkg/registry/core/service/registry.go delete mode 100644 pkg/registry/networking/networkpolicy/registry.go delete mode 100644 pkg/registry/scheduling/priorityclass/registry.go delete mode 100644 pkg/registry/settings/podpreset/registry.go delete mode 100644 staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/registry.go diff --git a/pkg/registry/apps/deployment/registry.go b/pkg/registry/apps/deployment/registry.go deleted file mode 100644 index 6cce8f53e00..00000000000 --- a/pkg/registry/apps/deployment/registry.go +++ /dev/null @@ -1,86 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package deployment - -import ( - "context" - "fmt" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/kubernetes/pkg/apis/extensions" -) - -// Registry is an interface for things that know how to store Deployments. -type Registry interface { - ListDeployments(ctx context.Context, options *metainternalversion.ListOptions) (*extensions.DeploymentList, error) - GetDeployment(ctx context.Context, deploymentID string, options *metav1.GetOptions) (*extensions.Deployment, error) - CreateDeployment(ctx context.Context, deployment *extensions.Deployment, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*extensions.Deployment, error) - UpdateDeployment(ctx context.Context, deployment *extensions.Deployment, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*extensions.Deployment, error) - DeleteDeployment(ctx context.Context, deploymentID string) error -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListDeployments(ctx context.Context, options *metainternalversion.ListOptions) (*extensions.DeploymentList, error) { - if options != nil && options.FieldSelector != nil && !options.FieldSelector.Empty() { - return nil, fmt.Errorf("field selector not supported yet") - } - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - return obj.(*extensions.DeploymentList), err -} - -func (s *storage) GetDeployment(ctx context.Context, deploymentID string, options *metav1.GetOptions) (*extensions.Deployment, error) { - obj, err := s.Get(ctx, deploymentID, options) - if err != nil { - return nil, err - } - return obj.(*extensions.Deployment), nil -} - -func (s *storage) CreateDeployment(ctx context.Context, deployment *extensions.Deployment, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*extensions.Deployment, error) { - obj, err := s.Create(ctx, deployment, createValidation, options) - if err != nil { - return nil, err - } - return obj.(*extensions.Deployment), nil -} - -func (s *storage) UpdateDeployment(ctx context.Context, deployment *extensions.Deployment, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*extensions.Deployment, error) { - obj, _, err := s.Update(ctx, deployment.Name, rest.DefaultUpdatedObjectInfo(deployment), createValidation, updateValidation, false, options) - if err != nil { - return nil, err - } - return obj.(*extensions.Deployment), nil -} - -func (s *storage) DeleteDeployment(ctx context.Context, deploymentID string) error { - _, _, err := s.Delete(ctx, deploymentID, nil) - return err -} diff --git a/pkg/registry/apps/replicaset/registry.go b/pkg/registry/apps/replicaset/registry.go deleted file mode 100644 index 65b50a8a8e6..00000000000 --- a/pkg/registry/apps/replicaset/registry.go +++ /dev/null @@ -1,95 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// If you make changes to this file, you should also make the corresponding change in ReplicationController. - -package replicaset - -import ( - "context" - "fmt" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/kubernetes/pkg/apis/extensions" -) - -// Registry is an interface for things that know how to store ReplicaSets. -type Registry interface { - ListReplicaSets(ctx context.Context, options *metainternalversion.ListOptions) (*extensions.ReplicaSetList, error) - WatchReplicaSets(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) - GetReplicaSet(ctx context.Context, replicaSetID string, options *metav1.GetOptions) (*extensions.ReplicaSet, error) - CreateReplicaSet(ctx context.Context, replicaSet *extensions.ReplicaSet, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*extensions.ReplicaSet, error) - UpdateReplicaSet(ctx context.Context, replicaSet *extensions.ReplicaSet, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*extensions.ReplicaSet, error) - DeleteReplicaSet(ctx context.Context, replicaSetID string) error -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListReplicaSets(ctx context.Context, options *metainternalversion.ListOptions) (*extensions.ReplicaSetList, error) { - if options != nil && options.FieldSelector != nil && !options.FieldSelector.Empty() { - return nil, fmt.Errorf("field selector not supported yet") - } - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - return obj.(*extensions.ReplicaSetList), err -} - -func (s *storage) WatchReplicaSets(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetReplicaSet(ctx context.Context, replicaSetID string, options *metav1.GetOptions) (*extensions.ReplicaSet, error) { - obj, err := s.Get(ctx, replicaSetID, options) - if err != nil { - return nil, err - } - return obj.(*extensions.ReplicaSet), nil -} - -func (s *storage) CreateReplicaSet(ctx context.Context, replicaSet *extensions.ReplicaSet, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*extensions.ReplicaSet, error) { - obj, err := s.Create(ctx, replicaSet, createValidation, options) - if err != nil { - return nil, err - } - return obj.(*extensions.ReplicaSet), nil -} - -func (s *storage) UpdateReplicaSet(ctx context.Context, replicaSet *extensions.ReplicaSet, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*extensions.ReplicaSet, error) { - obj, _, err := s.Update(ctx, replicaSet.Name, rest.DefaultUpdatedObjectInfo(replicaSet), createValidation, updateValidation, false, options) - if err != nil { - return nil, err - } - return obj.(*extensions.ReplicaSet), nil -} - -func (s *storage) DeleteReplicaSet(ctx context.Context, replicaSetID string) error { - _, _, err := s.Delete(ctx, replicaSetID, nil) - return err -} diff --git a/pkg/registry/apps/statefulset/registry.go b/pkg/registry/apps/statefulset/registry.go deleted file mode 100644 index 8c707a93b6d..00000000000 --- a/pkg/registry/apps/statefulset/registry.go +++ /dev/null @@ -1,94 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package statefulset - -import ( - "context" - "fmt" - - "k8s.io/apimachinery/pkg/api/errors" - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/kubernetes/pkg/apis/apps" -) - -// Registry is an interface for things that know how to store StatefulSets. -type Registry interface { - ListStatefulSets(ctx context.Context, options *metainternalversion.ListOptions) (*apps.StatefulSetList, error) - WatchStatefulSets(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) - GetStatefulSet(ctx context.Context, statefulSetID string, options *metav1.GetOptions) (*apps.StatefulSet, error) - CreateStatefulSet(ctx context.Context, statefulSet *apps.StatefulSet, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*apps.StatefulSet, error) - UpdateStatefulSet(ctx context.Context, statefulSet *apps.StatefulSet, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*apps.StatefulSet, error) - DeleteStatefulSet(ctx context.Context, statefulSetID string) error -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListStatefulSets(ctx context.Context, options *metainternalversion.ListOptions) (*apps.StatefulSetList, error) { - if options != nil && options.FieldSelector != nil && !options.FieldSelector.Empty() { - return nil, fmt.Errorf("field selector not supported yet") - } - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - return obj.(*apps.StatefulSetList), err -} - -func (s *storage) WatchStatefulSets(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetStatefulSet(ctx context.Context, statefulSetID string, options *metav1.GetOptions) (*apps.StatefulSet, error) { - obj, err := s.Get(ctx, statefulSetID, options) - if err != nil { - return nil, errors.NewNotFound(apps.Resource("statefulsets/scale"), statefulSetID) - } - return obj.(*apps.StatefulSet), nil -} - -func (s *storage) CreateStatefulSet(ctx context.Context, statefulSet *apps.StatefulSet, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*apps.StatefulSet, error) { - obj, err := s.Create(ctx, statefulSet, rest.ValidateAllObjectFunc, options) - if err != nil { - return nil, err - } - return obj.(*apps.StatefulSet), nil -} - -func (s *storage) UpdateStatefulSet(ctx context.Context, statefulSet *apps.StatefulSet, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*apps.StatefulSet, error) { - obj, _, err := s.Update(ctx, statefulSet.Name, rest.DefaultUpdatedObjectInfo(statefulSet), createValidation, updateValidation, false, options) - if err != nil { - return nil, err - } - return obj.(*apps.StatefulSet), nil -} - -func (s *storage) DeleteStatefulSet(ctx context.Context, statefulSetID string) error { - _, _, err := s.Delete(ctx, statefulSetID, nil) - return err -} diff --git a/pkg/registry/certificates/certificates/registry.go b/pkg/registry/certificates/certificates/registry.go deleted file mode 100644 index dd93497d879..00000000000 --- a/pkg/registry/certificates/certificates/registry.go +++ /dev/null @@ -1,84 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package certificates - -import ( - "context" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/kubernetes/pkg/apis/certificates" -) - -// Registry is an interface for things that know how to store CSRs. -type Registry interface { - ListCSRs(ctx context.Context, options *metainternalversion.ListOptions) (*certificates.CertificateSigningRequestList, error) - CreateCSR(ctx context.Context, csr *certificates.CertificateSigningRequest, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error - UpdateCSR(ctx context.Context, csr *certificates.CertificateSigningRequest, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error - GetCSR(ctx context.Context, csrID string, options *metav1.GetOptions) (*certificates.CertificateSigningRequest, error) - DeleteCSR(ctx context.Context, csrID string) error - WatchCSRs(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListCSRs(ctx context.Context, options *metainternalversion.ListOptions) (*certificates.CertificateSigningRequestList, error) { - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - - return obj.(*certificates.CertificateSigningRequestList), nil -} - -func (s *storage) CreateCSR(ctx context.Context, csr *certificates.CertificateSigningRequest, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error { - _, err := s.Create(ctx, csr, createValidation, options) - return err -} - -func (s *storage) UpdateCSR(ctx context.Context, csr *certificates.CertificateSigningRequest, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error { - _, _, err := s.Update(ctx, csr.Name, rest.DefaultUpdatedObjectInfo(csr), createValidation, updateValidation, false, options) - return err -} - -func (s *storage) WatchCSRs(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetCSR(ctx context.Context, name string, options *metav1.GetOptions) (*certificates.CertificateSigningRequest, error) { - obj, err := s.Get(ctx, name, options) - if err != nil { - return nil, err - } - return obj.(*certificates.CertificateSigningRequest), nil -} - -func (s *storage) DeleteCSR(ctx context.Context, name string) error { - _, _, err := s.Delete(ctx, name, nil) - return err -} diff --git a/pkg/registry/core/configmap/registry.go b/pkg/registry/core/configmap/registry.go deleted file mode 100644 index 5161517876b..00000000000 --- a/pkg/registry/core/configmap/registry.go +++ /dev/null @@ -1,93 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package configmap - -import ( - "context" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - api "k8s.io/kubernetes/pkg/apis/core" -) - -// Registry is an interface for things that know how to store ConfigMaps. -type Registry interface { - ListConfigMaps(ctx context.Context, options *metainternalversion.ListOptions) (*api.ConfigMapList, error) - WatchConfigMaps(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) - GetConfigMap(ctx context.Context, name string, options *metav1.GetOptions) (*api.ConfigMap, error) - CreateConfigMap(ctx context.Context, cfg *api.ConfigMap, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*api.ConfigMap, error) - UpdateConfigMap(ctx context.Context, cfg *api.ConfigMap, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*api.ConfigMap, error) - DeleteConfigMap(ctx context.Context, name string) error -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListConfigMaps(ctx context.Context, options *metainternalversion.ListOptions) (*api.ConfigMapList, error) { - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - - return obj.(*api.ConfigMapList), err -} - -func (s *storage) WatchConfigMaps(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetConfigMap(ctx context.Context, name string, options *metav1.GetOptions) (*api.ConfigMap, error) { - obj, err := s.Get(ctx, name, options) - if err != nil { - return nil, err - } - - return obj.(*api.ConfigMap), nil -} - -func (s *storage) CreateConfigMap(ctx context.Context, cfg *api.ConfigMap, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*api.ConfigMap, error) { - obj, err := s.Create(ctx, cfg, createValidation, options) - if err != nil { - return nil, err - } - - return obj.(*api.ConfigMap), nil -} - -func (s *storage) UpdateConfigMap(ctx context.Context, cfg *api.ConfigMap, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*api.ConfigMap, error) { - obj, _, err := s.Update(ctx, cfg.Name, rest.DefaultUpdatedObjectInfo(cfg), createValidation, updateValidation, false, options) - if err != nil { - return nil, err - } - - return obj.(*api.ConfigMap), nil -} - -func (s *storage) DeleteConfigMap(ctx context.Context, name string) error { - _, _, err := s.Delete(ctx, name, nil) - return err -} diff --git a/pkg/registry/core/endpoint/registry.go b/pkg/registry/core/endpoint/registry.go deleted file mode 100644 index 0b4659de5ad..00000000000 --- a/pkg/registry/core/endpoint/registry.go +++ /dev/null @@ -1,77 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package endpoint - -import ( - "context" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - api "k8s.io/kubernetes/pkg/apis/core" -) - -// Registry is an interface for things that know how to store endpoints. -type Registry interface { - ListEndpoints(ctx context.Context, options *metainternalversion.ListOptions) (*api.EndpointsList, error) - GetEndpoints(ctx context.Context, name string, options *metav1.GetOptions) (*api.Endpoints, error) - WatchEndpoints(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) - UpdateEndpoints(ctx context.Context, e *api.Endpoints, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error - DeleteEndpoints(ctx context.Context, name string) error -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListEndpoints(ctx context.Context, options *metainternalversion.ListOptions) (*api.EndpointsList, error) { - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - return obj.(*api.EndpointsList), nil -} - -func (s *storage) WatchEndpoints(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetEndpoints(ctx context.Context, name string, options *metav1.GetOptions) (*api.Endpoints, error) { - obj, err := s.Get(ctx, name, options) - if err != nil { - return nil, err - } - return obj.(*api.Endpoints), nil -} - -func (s *storage) UpdateEndpoints(ctx context.Context, endpoints *api.Endpoints, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error { - _, _, err := s.Update(ctx, endpoints.Name, rest.DefaultUpdatedObjectInfo(endpoints), createValidation, updateValidation, false, options) - return err -} - -func (s *storage) DeleteEndpoints(ctx context.Context, name string) error { - _, _, err := s.Delete(ctx, name, nil) - return err -} diff --git a/pkg/registry/core/namespace/registry.go b/pkg/registry/core/namespace/registry.go deleted file mode 100644 index 9abe821ca08..00000000000 --- a/pkg/registry/core/namespace/registry.go +++ /dev/null @@ -1,83 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package namespace - -import ( - "context" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - api "k8s.io/kubernetes/pkg/apis/core" -) - -// Registry is an interface implemented by things that know how to store Namespace objects. -type Registry interface { - ListNamespaces(ctx context.Context, options *metainternalversion.ListOptions) (*api.NamespaceList, error) - WatchNamespaces(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) - GetNamespace(ctx context.Context, namespaceID string, options *metav1.GetOptions) (*api.Namespace, error) - CreateNamespace(ctx context.Context, namespace *api.Namespace, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error - UpdateNamespace(ctx context.Context, namespace *api.Namespace, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error - DeleteNamespace(ctx context.Context, namespaceID string) error -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListNamespaces(ctx context.Context, options *metainternalversion.ListOptions) (*api.NamespaceList, error) { - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - return obj.(*api.NamespaceList), nil -} - -func (s *storage) WatchNamespaces(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetNamespace(ctx context.Context, namespaceName string, options *metav1.GetOptions) (*api.Namespace, error) { - obj, err := s.Get(ctx, namespaceName, options) - if err != nil { - return nil, err - } - return obj.(*api.Namespace), nil -} - -func (s *storage) CreateNamespace(ctx context.Context, namespace *api.Namespace, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error { - _, err := s.Create(ctx, namespace, createValidation, options) - return err -} - -func (s *storage) UpdateNamespace(ctx context.Context, namespace *api.Namespace, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error { - _, _, err := s.Update(ctx, namespace.Name, rest.DefaultUpdatedObjectInfo(namespace), createValidation, updateValidation, false, options) - return err -} - -func (s *storage) DeleteNamespace(ctx context.Context, namespaceID string) error { - _, _, err := s.Delete(ctx, namespaceID, nil) - return err -} diff --git a/pkg/registry/core/node/registry.go b/pkg/registry/core/node/registry.go deleted file mode 100644 index cfb27bdd721..00000000000 --- a/pkg/registry/core/node/registry.go +++ /dev/null @@ -1,84 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package node - -import ( - "context" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - api "k8s.io/kubernetes/pkg/apis/core" -) - -// Registry is an interface for things that know how to store node. -type Registry interface { - ListNodes(ctx context.Context, options *metainternalversion.ListOptions) (*api.NodeList, error) - CreateNode(ctx context.Context, node *api.Node, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error - UpdateNode(ctx context.Context, node *api.Node, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error - GetNode(ctx context.Context, nodeID string, options *metav1.GetOptions) (*api.Node, error) - DeleteNode(ctx context.Context, nodeID string) error - WatchNodes(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListNodes(ctx context.Context, options *metainternalversion.ListOptions) (*api.NodeList, error) { - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - - return obj.(*api.NodeList), nil -} - -func (s *storage) CreateNode(ctx context.Context, node *api.Node, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error { - _, err := s.Create(ctx, node, createValidation, options) - return err -} - -func (s *storage) UpdateNode(ctx context.Context, node *api.Node, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error { - _, _, err := s.Update(ctx, node.Name, rest.DefaultUpdatedObjectInfo(node), createValidation, updateValidation, false, options) - return err -} - -func (s *storage) WatchNodes(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetNode(ctx context.Context, name string, options *metav1.GetOptions) (*api.Node, error) { - obj, err := s.Get(ctx, name, options) - if err != nil { - return nil, err - } - return obj.(*api.Node), nil -} - -func (s *storage) DeleteNode(ctx context.Context, name string) error { - _, _, err := s.Delete(ctx, name, nil) - return err -} diff --git a/pkg/registry/core/replicationcontroller/registry.go b/pkg/registry/core/replicationcontroller/registry.go deleted file mode 100644 index 3edc3d104e3..00000000000 --- a/pkg/registry/core/replicationcontroller/registry.go +++ /dev/null @@ -1,95 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// If you make changes to this file, you should also make the corresponding change in ReplicaSet. - -package replicationcontroller - -import ( - "context" - "fmt" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - api "k8s.io/kubernetes/pkg/apis/core" -) - -// Registry is an interface for things that know how to store ReplicationControllers. -type Registry interface { - ListControllers(ctx context.Context, options *metainternalversion.ListOptions) (*api.ReplicationControllerList, error) - WatchControllers(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) - GetController(ctx context.Context, controllerID string, options *metav1.GetOptions) (*api.ReplicationController, error) - CreateController(ctx context.Context, controller *api.ReplicationController, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*api.ReplicationController, error) - UpdateController(ctx context.Context, controller *api.ReplicationController, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*api.ReplicationController, error) - DeleteController(ctx context.Context, controllerID string) error -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListControllers(ctx context.Context, options *metainternalversion.ListOptions) (*api.ReplicationControllerList, error) { - if options != nil && options.FieldSelector != nil && !options.FieldSelector.Empty() { - return nil, fmt.Errorf("field selector not supported yet") - } - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - return obj.(*api.ReplicationControllerList), err -} - -func (s *storage) WatchControllers(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetController(ctx context.Context, controllerID string, options *metav1.GetOptions) (*api.ReplicationController, error) { - obj, err := s.Get(ctx, controllerID, options) - if err != nil { - return nil, err - } - return obj.(*api.ReplicationController), nil -} - -func (s *storage) CreateController(ctx context.Context, controller *api.ReplicationController, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*api.ReplicationController, error) { - obj, err := s.Create(ctx, controller, createValidation, options) - if err != nil { - return nil, err - } - return obj.(*api.ReplicationController), nil -} - -func (s *storage) UpdateController(ctx context.Context, controller *api.ReplicationController, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*api.ReplicationController, error) { - obj, _, err := s.Update(ctx, controller.Name, rest.DefaultUpdatedObjectInfo(controller), createValidation, updateValidation, false, options) - if err != nil { - return nil, err - } - return obj.(*api.ReplicationController), nil -} - -func (s *storage) DeleteController(ctx context.Context, controllerID string) error { - _, _, err := s.Delete(ctx, controllerID, nil) - return err -} diff --git a/pkg/registry/core/service/registry.go b/pkg/registry/core/service/registry.go deleted file mode 100644 index cc7773199dd..00000000000 --- a/pkg/registry/core/service/registry.go +++ /dev/null @@ -1,105 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package service - -import ( - "context" - "fmt" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - api "k8s.io/kubernetes/pkg/apis/core" -) - -// Registry is an interface for things that know how to store services. -type Registry interface { - ListServices(ctx context.Context, options *metainternalversion.ListOptions) (*api.ServiceList, error) - CreateService(ctx context.Context, svc *api.Service, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*api.Service, error) - GetService(ctx context.Context, name string, options *metav1.GetOptions) (*api.Service, error) - DeleteService(ctx context.Context, name string) error - UpdateService(ctx context.Context, svc *api.Service, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*api.Service, error) - WatchServices(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) - ExportService(ctx context.Context, name string, options metav1.ExportOptions) (*api.Service, error) -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListServices(ctx context.Context, options *metainternalversion.ListOptions) (*api.ServiceList, error) { - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - return obj.(*api.ServiceList), nil -} - -func (s *storage) CreateService(ctx context.Context, svc *api.Service, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (*api.Service, error) { - obj, err := s.Create(ctx, svc, createValidation, options) - if err != nil { - return nil, err - } - return obj.(*api.Service), nil -} - -func (s *storage) GetService(ctx context.Context, name string, options *metav1.GetOptions) (*api.Service, error) { - obj, err := s.Get(ctx, name, options) - if err != nil { - return nil, err - } - return obj.(*api.Service), nil -} - -func (s *storage) DeleteService(ctx context.Context, name string) error { - _, _, err := s.Delete(ctx, name, nil) - return err -} - -func (s *storage) UpdateService(ctx context.Context, svc *api.Service, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*api.Service, error) { - obj, _, err := s.Update(ctx, svc.Name, rest.DefaultUpdatedObjectInfo(svc), createValidation, updateValidation, false, options) - if err != nil { - return nil, err - } - return obj.(*api.Service), nil -} - -func (s *storage) WatchServices(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -// If StandardStorage implements rest.Exporter, returns exported service. -// Otherwise export is not supported. -func (s *storage) ExportService(ctx context.Context, name string, options metav1.ExportOptions) (*api.Service, error) { - exporter, isExporter := s.StandardStorage.(rest.Exporter) - if !isExporter { - return nil, fmt.Errorf("export is not supported") - } - obj, err := exporter.Export(ctx, name, options) - if err != nil { - return nil, err - } - return obj.(*api.Service), nil -} diff --git a/pkg/registry/networking/networkpolicy/registry.go b/pkg/registry/networking/networkpolicy/registry.go deleted file mode 100644 index 796515f4c98..00000000000 --- a/pkg/registry/networking/networkpolicy/registry.go +++ /dev/null @@ -1,84 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package networkpolicy - -import ( - "context" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/kubernetes/pkg/apis/networking" -) - -// Registry is an interface for things that know how to store NetworkPolicies. -type Registry interface { - ListNetworkPolicies(ctx context.Context, options *metainternalversion.ListOptions) (*networking.NetworkPolicyList, error) - CreateNetworkPolicy(ctx context.Context, np *networking.NetworkPolicy, createValidation rest.ValidateObjectFunc) error - UpdateNetworkPolicy(ctx context.Context, np *networking.NetworkPolicy, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error - GetNetworkPolicy(ctx context.Context, name string, options *metav1.GetOptions) (*networking.NetworkPolicy, error) - DeleteNetworkPolicy(ctx context.Context, name string) error - WatchNetworkPolicies(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListNetworkPolicies(ctx context.Context, options *metainternalversion.ListOptions) (*networking.NetworkPolicyList, error) { - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - - return obj.(*networking.NetworkPolicyList), nil -} - -func (s *storage) CreateNetworkPolicy(ctx context.Context, np *networking.NetworkPolicy, createValidation rest.ValidateObjectFunc) error { - _, err := s.Create(ctx, np, createValidation, &metav1.CreateOptions{}) - return err -} - -func (s *storage) UpdateNetworkPolicy(ctx context.Context, np *networking.NetworkPolicy, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error { - _, _, err := s.Update(ctx, np.Name, rest.DefaultUpdatedObjectInfo(np), createValidation, updateValidation, false, options) - return err -} - -func (s *storage) WatchNetworkPolicies(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetNetworkPolicy(ctx context.Context, name string, options *metav1.GetOptions) (*networking.NetworkPolicy, error) { - obj, err := s.Get(ctx, name, options) - if err != nil { - return nil, err - } - return obj.(*networking.NetworkPolicy), nil -} - -func (s *storage) DeleteNetworkPolicy(ctx context.Context, name string) error { - _, _, err := s.Delete(ctx, name, nil) - return err -} diff --git a/pkg/registry/scheduling/priorityclass/registry.go b/pkg/registry/scheduling/priorityclass/registry.go deleted file mode 100644 index 2c7072d0c24..00000000000 --- a/pkg/registry/scheduling/priorityclass/registry.go +++ /dev/null @@ -1,84 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package priorityclass - -import ( - "context" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/kubernetes/pkg/apis/scheduling" -) - -// Registry is an interface for things that know how to store PriorityClass. -type Registry interface { - ListPriorityClasses(ctx context.Context, options *metainternalversion.ListOptions) (*scheduling.PriorityClassList, error) - CreatePriorityClass(ctx context.Context, pc *scheduling.PriorityClass, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error - UpdatePriorityClass(ctx context.Context, pc *scheduling.PriorityClass, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error - GetPriorityClass(ctx context.Context, name string, options *metav1.GetOptions) (*scheduling.PriorityClass, error) - DeletePriorityClass(ctx context.Context, name string) error - WatchPriorityClasses(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListPriorityClasses(ctx context.Context, options *metainternalversion.ListOptions) (*scheduling.PriorityClassList, error) { - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - - return obj.(*scheduling.PriorityClassList), nil -} - -func (s *storage) CreatePriorityClass(ctx context.Context, pc *scheduling.PriorityClass, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error { - _, err := s.Create(ctx, pc, createValidation, options) - return err -} - -func (s *storage) UpdatePriorityClass(ctx context.Context, pc *scheduling.PriorityClass, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error { - _, _, err := s.Update(ctx, pc.Name, rest.DefaultUpdatedObjectInfo(pc), createValidation, updateValidation, false, options) - return err -} - -func (s *storage) WatchPriorityClasses(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetPriorityClass(ctx context.Context, name string, options *metav1.GetOptions) (*scheduling.PriorityClass, error) { - obj, err := s.Get(ctx, name, options) - if err != nil { - return nil, err - } - return obj.(*scheduling.PriorityClass), nil -} - -func (s *storage) DeletePriorityClass(ctx context.Context, name string) error { - _, _, err := s.Delete(ctx, name, nil) - return err -} diff --git a/pkg/registry/settings/podpreset/registry.go b/pkg/registry/settings/podpreset/registry.go deleted file mode 100644 index 39fc6a78ce4..00000000000 --- a/pkg/registry/settings/podpreset/registry.go +++ /dev/null @@ -1,84 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package podpreset - -import ( - "context" - - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/kubernetes/pkg/apis/settings" -) - -// Registry is an interface for things that know how to store PodPresets. -type Registry interface { - ListPodPresets(ctx context.Context, options *metainternalversion.ListOptions) (*settings.PodPresetList, error) - CreatePodPreset(ctx context.Context, pp *settings.PodPreset, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error - UpdatePodPreset(ctx context.Context, pp *settings.PodPreset, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error - GetPodPreset(ctx context.Context, ppID string, options *metav1.GetOptions) (*settings.PodPreset, error) - DeletePodPreset(ctx context.Context, ppID string) error - WatchPodPresets(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListPodPresets(ctx context.Context, options *metainternalversion.ListOptions) (*settings.PodPresetList, error) { - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - - return obj.(*settings.PodPresetList), nil -} - -func (s *storage) CreatePodPreset(ctx context.Context, pp *settings.PodPreset, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) error { - _, err := s.Create(ctx, pp, createValidation, options) - return err -} - -func (s *storage) UpdatePodPreset(ctx context.Context, pp *settings.PodPreset, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) error { - _, _, err := s.Update(ctx, pp.Name, rest.DefaultUpdatedObjectInfo(pp), createValidation, updateValidation, false, options) - return err -} - -func (s *storage) WatchPodPresets(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetPodPreset(ctx context.Context, name string, options *metav1.GetOptions) (*settings.PodPreset, error) { - obj, err := s.Get(ctx, name, options) - if err != nil { - return nil, err - } - return obj.(*settings.PodPreset), nil -} - -func (s *storage) DeletePodPreset(ctx context.Context, name string) error { - _, _, err := s.Delete(ctx, name, nil) - return err -} diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/registry.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/registry.go deleted file mode 100644 index f722058f324..00000000000 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/registry.go +++ /dev/null @@ -1,104 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package customresource - -import ( - "context" - "fmt" - "strings" - - "k8s.io/apimachinery/pkg/api/errors" - metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/registry/rest" -) - -// Registry is an interface for things that know how to store CustomResources. -type Registry interface { - ListCustomResources(ctx context.Context, options *metainternalversion.ListOptions) (*unstructured.UnstructuredList, error) - WatchCustomResources(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) - GetCustomResource(ctx context.Context, customResourceID string, options *metav1.GetOptions) (*unstructured.Unstructured, error) - CreateCustomResource(ctx context.Context, customResource *unstructured.Unstructured, createValidation rest.ValidateObjectFunc) (*unstructured.Unstructured, error) - UpdateCustomResource(ctx context.Context, customResource *unstructured.Unstructured, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*unstructured.Unstructured, error) - DeleteCustomResource(ctx context.Context, customResourceID string) error -} - -// storage puts strong typing around storage calls -type storage struct { - rest.StandardStorage -} - -// NewRegistry returns a new Registry interface for the given Storage. Any mismatched -// types will panic. -func NewRegistry(s rest.StandardStorage) Registry { - return &storage{s} -} - -func (s *storage) ListCustomResources(ctx context.Context, options *metainternalversion.ListOptions) (*unstructured.UnstructuredList, error) { - if options != nil && options.FieldSelector != nil && !options.FieldSelector.Empty() { - return nil, fmt.Errorf("field selector not supported yet") - } - obj, err := s.List(ctx, options) - if err != nil { - return nil, err - } - return obj.(*unstructured.UnstructuredList), err -} - -func (s *storage) WatchCustomResources(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { - return s.Watch(ctx, options) -} - -func (s *storage) GetCustomResource(ctx context.Context, customResourceID string, options *metav1.GetOptions) (*unstructured.Unstructured, error) { - obj, err := s.Get(ctx, customResourceID, options) - customResource, ok := obj.(*unstructured.Unstructured) - if !ok { - return nil, fmt.Errorf("custom resource must be of type Unstructured") - } - - if err != nil { - apiVersion := customResource.GetAPIVersion() - groupVersion := strings.Split(apiVersion, "/") - group := groupVersion[0] - return nil, errors.NewNotFound(schema.GroupResource{Group: group, Resource: "scale"}, customResourceID) - } - return customResource, nil -} - -func (s *storage) CreateCustomResource(ctx context.Context, customResource *unstructured.Unstructured, createValidation rest.ValidateObjectFunc) (*unstructured.Unstructured, error) { - obj, err := s.Create(ctx, customResource, rest.ValidateAllObjectFunc, &metav1.CreateOptions{}) - if err != nil { - return nil, err - } - return obj.(*unstructured.Unstructured), nil -} - -func (s *storage) UpdateCustomResource(ctx context.Context, customResource *unstructured.Unstructured, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc, options *metav1.UpdateOptions) (*unstructured.Unstructured, error) { - obj, _, err := s.Update(ctx, customResource.GetName(), rest.DefaultUpdatedObjectInfo(customResource), createValidation, updateValidation, false, options) - if err != nil { - return nil, err - } - return obj.(*unstructured.Unstructured), nil -} - -func (s *storage) DeleteCustomResource(ctx context.Context, customResourceID string) error { - _, _, err := s.Delete(ctx, customResourceID, nil) - return err -} From 652e2dc02557eff0839da8f31661992be55a3268 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 10 Jul 2018 17:23:45 -0400 Subject: [PATCH 3/3] generated --- pkg/master/BUILD | 1 - pkg/master/reconcilers/BUILD | 1 - pkg/registry/apps/deployment/BUILD | 3 --- pkg/registry/apps/replicaset/BUILD | 4 ---- pkg/registry/apps/statefulset/BUILD | 5 ----- pkg/registry/certificates/certificates/BUILD | 4 ---- pkg/registry/core/configmap/BUILD | 4 ---- pkg/registry/core/endpoint/BUILD | 5 ----- pkg/registry/core/namespace/BUILD | 5 ----- pkg/registry/core/node/BUILD | 4 ---- pkg/registry/core/replicationcontroller/BUILD | 4 ---- pkg/registry/core/service/BUILD | 4 ---- pkg/registry/extensions/controller/storage/BUILD | 2 +- pkg/registry/networking/networkpolicy/BUILD | 5 ----- pkg/registry/registrytest/BUILD | 1 + pkg/registry/scheduling/priorityclass/BUILD | 5 ----- pkg/registry/settings/podpreset/BUILD | 5 ----- .../pkg/registry/customresource/BUILD | 2 -- 18 files changed, 2 insertions(+), 62 deletions(-) diff --git a/pkg/master/BUILD b/pkg/master/BUILD index b7f4dc9068d..d45db0c091a 100644 --- a/pkg/master/BUILD +++ b/pkg/master/BUILD @@ -53,7 +53,6 @@ go_library( "//pkg/registry/batch/rest:go_default_library", "//pkg/registry/certificates/rest:go_default_library", "//pkg/registry/coordination/rest:go_default_library", - "//pkg/registry/core/endpoint:go_default_library", "//pkg/registry/core/endpoint/storage:go_default_library", "//pkg/registry/core/rangeallocation:go_default_library", "//pkg/registry/core/rest:go_default_library", diff --git a/pkg/master/reconcilers/BUILD b/pkg/master/reconcilers/BUILD index 356cf9bce7e..09d274bea82 100644 --- a/pkg/master/reconcilers/BUILD +++ b/pkg/master/reconcilers/BUILD @@ -15,7 +15,6 @@ go_library( "//pkg/api/endpoints:go_default_library", "//pkg/apis/core:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", - "//pkg/registry/core/endpoint:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", diff --git a/pkg/registry/apps/deployment/BUILD b/pkg/registry/apps/deployment/BUILD index fda7137d1fe..2fcc999bf94 100644 --- a/pkg/registry/apps/deployment/BUILD +++ b/pkg/registry/apps/deployment/BUILD @@ -10,7 +10,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/apps/deployment", @@ -24,8 +23,6 @@ go_library( "//staging/src/k8s.io/api/extensions/v1beta1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", diff --git a/pkg/registry/apps/replicaset/BUILD b/pkg/registry/apps/replicaset/BUILD index 2871b6289d0..74856651764 100644 --- a/pkg/registry/apps/replicaset/BUILD +++ b/pkg/registry/apps/replicaset/BUILD @@ -10,7 +10,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/apps/replicaset", @@ -23,14 +22,11 @@ go_library( "//staging/src/k8s.io/api/extensions/v1beta1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/endpoints/request:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", diff --git a/pkg/registry/apps/statefulset/BUILD b/pkg/registry/apps/statefulset/BUILD index 6bd61a35e4f..91d62f93092 100644 --- a/pkg/registry/apps/statefulset/BUILD +++ b/pkg/registry/apps/statefulset/BUILD @@ -10,7 +10,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/apps/statefulset", @@ -22,13 +21,9 @@ go_library( "//staging/src/k8s.io/api/apps/v1beta1:go_default_library", "//staging/src/k8s.io/api/apps/v1beta2:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/endpoints/request:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", diff --git a/pkg/registry/certificates/certificates/BUILD b/pkg/registry/certificates/certificates/BUILD index cc9c33e0320..d83adb9bbd8 100644 --- a/pkg/registry/certificates/certificates/BUILD +++ b/pkg/registry/certificates/certificates/BUILD @@ -10,7 +10,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/certificates/certificates", @@ -18,13 +17,10 @@ go_library( "//pkg/api/legacyscheme:go_default_library", "//pkg/apis/certificates:go_default_library", "//pkg/apis/certificates/validation:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/core/configmap/BUILD b/pkg/registry/core/configmap/BUILD index e59820b7497..b2876f202d4 100644 --- a/pkg/registry/core/configmap/BUILD +++ b/pkg/registry/core/configmap/BUILD @@ -10,7 +10,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/core/configmap", @@ -18,11 +17,8 @@ go_library( "//pkg/api/legacyscheme:go_default_library", "//pkg/apis/core:go_default_library", "//pkg/apis/core/validation:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", ], diff --git a/pkg/registry/core/endpoint/BUILD b/pkg/registry/core/endpoint/BUILD index 7ee2560eb4f..9a88912bced 100644 --- a/pkg/registry/core/endpoint/BUILD +++ b/pkg/registry/core/endpoint/BUILD @@ -9,7 +9,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/core/endpoint", @@ -18,12 +17,8 @@ go_library( "//pkg/api/legacyscheme:go_default_library", "//pkg/apis/core:go_default_library", "//pkg/apis/core/validation:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", - "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/core/namespace/BUILD b/pkg/registry/core/namespace/BUILD index 937e43afee8..7f6f7deb66e 100644 --- a/pkg/registry/core/namespace/BUILD +++ b/pkg/registry/core/namespace/BUILD @@ -10,7 +10,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/core/namespace", @@ -18,15 +17,11 @@ go_library( "//pkg/api/legacyscheme:go_default_library", "//pkg/apis/core:go_default_library", "//pkg/apis/core/validation:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library", - "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", ], diff --git a/pkg/registry/core/node/BUILD b/pkg/registry/core/node/BUILD index d2c2ce9b29a..e026fe00b6d 100644 --- a/pkg/registry/core/node/BUILD +++ b/pkg/registry/core/node/BUILD @@ -10,7 +10,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/core/node", @@ -21,7 +20,6 @@ go_library( "//pkg/features:go_default_library", "//pkg/kubelet/client:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", @@ -29,9 +27,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/net:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library", - "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", diff --git a/pkg/registry/core/replicationcontroller/BUILD b/pkg/registry/core/replicationcontroller/BUILD index bb16efd178b..2f7a63edf4b 100644 --- a/pkg/registry/core/replicationcontroller/BUILD +++ b/pkg/registry/core/replicationcontroller/BUILD @@ -10,7 +10,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/core/replicationcontroller", @@ -21,13 +20,10 @@ go_library( "//pkg/apis/core/helper:go_default_library", "//pkg/apis/core/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage:go_default_library", diff --git a/pkg/registry/core/service/BUILD b/pkg/registry/core/service/BUILD index 88e2fed6cc6..2eeaa2a3057 100644 --- a/pkg/registry/core/service/BUILD +++ b/pkg/registry/core/service/BUILD @@ -11,7 +11,6 @@ go_library( srcs = [ "doc.go", "proxy.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/core/service", @@ -20,13 +19,10 @@ go_library( "//pkg/apis/core:go_default_library", "//pkg/apis/core/validation:go_default_library", "//pkg/capabilities:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/net:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/proxy:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", ], diff --git a/pkg/registry/extensions/controller/storage/BUILD b/pkg/registry/extensions/controller/storage/BUILD index ca50d636c56..03731438970 100644 --- a/pkg/registry/extensions/controller/storage/BUILD +++ b/pkg/registry/extensions/controller/storage/BUILD @@ -33,13 +33,13 @@ go_library( "//pkg/apis/autoscaling/validation:go_default_library", "//pkg/apis/core:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/registry/core/replicationcontroller:go_default_library", "//pkg/registry/core/replicationcontroller/storage:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", ], ) diff --git a/pkg/registry/networking/networkpolicy/BUILD b/pkg/registry/networking/networkpolicy/BUILD index 77c3654a270..2c86b95be8f 100644 --- a/pkg/registry/networking/networkpolicy/BUILD +++ b/pkg/registry/networking/networkpolicy/BUILD @@ -9,7 +9,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/networking/networkpolicy", @@ -17,12 +16,8 @@ go_library( "//pkg/api/legacyscheme:go_default_library", "//pkg/apis/networking:go_default_library", "//pkg/apis/networking/validation:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", - "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/registrytest/BUILD b/pkg/registry/registrytest/BUILD index e95e9b9457a..162385eb48e 100644 --- a/pkg/registry/registrytest/BUILD +++ b/pkg/registry/registrytest/BUILD @@ -25,6 +25,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/endpoints/request:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library", diff --git a/pkg/registry/scheduling/priorityclass/BUILD b/pkg/registry/scheduling/priorityclass/BUILD index 8c612dfd3de..1140ceeab6e 100644 --- a/pkg/registry/scheduling/priorityclass/BUILD +++ b/pkg/registry/scheduling/priorityclass/BUILD @@ -21,7 +21,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/scheduling/priorityclass", @@ -29,12 +28,8 @@ go_library( "//pkg/api/legacyscheme:go_default_library", "//pkg/apis/scheduling:go_default_library", "//pkg/apis/scheduling/validation:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", - "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/settings/podpreset/BUILD b/pkg/registry/settings/podpreset/BUILD index b0537662f57..3db54bf6c54 100644 --- a/pkg/registry/settings/podpreset/BUILD +++ b/pkg/registry/settings/podpreset/BUILD @@ -9,7 +9,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "registry.go", "strategy.go", ], importpath = "k8s.io/kubernetes/pkg/registry/settings/podpreset", @@ -18,12 +17,8 @@ go_library( "//pkg/api/pod:go_default_library", "//pkg/apis/settings:go_default_library", "//pkg/apis/settings/validation:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", - "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/BUILD b/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/BUILD index d8e6506226b..df63d504687 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/BUILD +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/registry/customresource/BUILD @@ -10,7 +10,6 @@ go_library( name = "go_default_library", srcs = [ "etcd.go", - "registry.go", "status_strategy.go", "strategy.go", "validator.go", @@ -34,7 +33,6 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library", "//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library",