diff --git a/Gopkg.lock b/Gopkg.lock index 3aa9bb124..7c4ee7161 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -619,15 +619,13 @@ revision = "9c9d72d1bf90eb62005f5112f3eea019b272c44b" [[projects]] - digest = "1:d4aabced4b804126c3e09a58c01dff440b48644de42b30cf8a70878458b93f92" + digest = "1:53b7e3883e80297c18e07558404edadf3f9b7e07ffd4e0b114673ad176723d97" name = "k8s.io/csi-api" packages = [ "pkg/apis/csi/v1alpha1", "pkg/client/clientset/versioned", - "pkg/client/clientset/versioned/fake", "pkg/client/clientset/versioned/scheme", "pkg/client/clientset/versioned/typed/csi/v1alpha1", - "pkg/client/clientset/versioned/typed/csi/v1alpha1/fake", "pkg/client/informers/externalversions", "pkg/client/informers/externalversions/csi", "pkg/client/informers/externalversions/csi/v1alpha1", @@ -727,11 +725,7 @@ "k8s.io/client-go/tools/leaderelection/resourcelock", "k8s.io/client-go/tools/record", "k8s.io/client-go/util/workqueue", - "k8s.io/csi-api/pkg/apis/csi/v1alpha1", - "k8s.io/csi-api/pkg/client/clientset/versioned", - "k8s.io/csi-api/pkg/client/clientset/versioned/fake", "k8s.io/csi-api/pkg/client/informers/externalversions", - "k8s.io/csi-api/pkg/client/listers/csi/v1alpha1", "k8s.io/csi-translation-lib", "k8s.io/klog", ] diff --git a/Gopkg.toml b/Gopkg.toml index 0ea720155..c148d55b2 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -36,10 +36,6 @@ name = "k8s.io/client-go" version = "kubernetes-1.14.0" -[[constraint]] - name = "k8s.io/csi-api" - version = "kubernetes-1.14.0" - [[constraint]] name = "github.com/kubernetes-csi/csi-lib-utils" version = ">=0.4.0-rc1" diff --git a/README.md b/README.md index 8593d43b4..d95240b0f 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ This information reflects the head of this branch. | Compatible with CSI Version | Container Image | Min K8s Version | | ------------------------------------------------------------------------------------------ | ------------------------------------| --------------- | -| [CSI Spec v1.0.0](https://github.com/container-storage-interface/spec/releases/tag/v1.0.0) | quay.io/k8scsi/csi-attacher:v1.0.1 | 1.13 | +| [CSI Spec v1.0.0](https://github.com/container-storage-interface/spec/releases/tag/v1.0.0) | quay.io/k8scsi/csi-attacher:v1.0.1 | 1.14 | ## Usage diff --git a/cmd/csi-attacher/main.go b/cmd/csi-attacher/main.go index e21007653..06951cb9d 100644 --- a/cmd/csi-attacher/main.go +++ b/cmd/csi-attacher/main.go @@ -27,7 +27,6 @@ import ( "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" - csiclient "k8s.io/csi-api/pkg/client/clientset/versioned" csiinformers "k8s.io/csi-api/pkg/client/informers/externalversions" "k8s.io/klog" @@ -97,12 +96,6 @@ func main() { os.Exit(1) } - csiClientset, err := csiclient.NewForConfig(config) - if err != nil { - klog.Error(err.Error()) - os.Exit(1) - } - factory := informers.NewSharedInformerFactory(clientset, *resync) var csiFactory csiinformers.SharedInformerFactory var handler controller.Handler @@ -155,10 +148,9 @@ func main() { pvLister := factory.Core().V1().PersistentVolumes().Lister() nodeLister := factory.Core().V1().Nodes().Lister() vaLister := factory.Storage().V1beta1().VolumeAttachments().Lister() - csiFactory := csiinformers.NewSharedInformerFactory(csiClientset, *resync) - nodeInfoLister := csiFactory.Csi().V1alpha1().CSINodeInfos().Lister() + csiNodeLister := factory.Storage().V1beta1().CSINodes().Lister() attacher := attacher.NewAttacher(csiConn) - handler = controller.NewCSIHandler(clientset, csiClientset, csiAttacher, attacher, pvLister, nodeLister, nodeInfoLister, vaLister, timeout, supportsReadOnly) + handler = controller.NewCSIHandler(clientset, csiAttacher, attacher, pvLister, nodeLister, csiNodeLister, vaLister, timeout, supportsReadOnly) klog.V(2).Infof("CSI driver supports ControllerPublishUnpublish, using real CSI handler") } else { handler = controller.NewTrivialHandler(clientset) diff --git a/pkg/controller/csi_handler.go b/pkg/controller/csi_handler.go index d536e03f1..1f042d29d 100644 --- a/pkg/controller/csi_handler.go +++ b/pkg/controller/csi_handler.go @@ -32,8 +32,6 @@ import ( corelisters "k8s.io/client-go/listers/core/v1" storagelisters "k8s.io/client-go/listers/storage/v1beta1" "k8s.io/client-go/util/workqueue" - csiclient "k8s.io/csi-api/pkg/client/clientset/versioned" - csilisters "k8s.io/csi-api/pkg/client/listers/csi/v1alpha1" csitranslationlib "k8s.io/csi-translation-lib" ) @@ -42,12 +40,11 @@ import ( // before deletion. type csiHandler struct { client kubernetes.Interface - csiClientSet csiclient.Interface attacherName string attacher attacher.Attacher pvLister corelisters.PersistentVolumeLister nodeLister corelisters.NodeLister - nodeInfoLister csilisters.CSINodeInfoLister + csiNodeLister storagelisters.CSINodeLister vaLister storagelisters.VolumeAttachmentLister vaQueue, pvQueue workqueue.RateLimitingInterface timeout time.Duration @@ -59,24 +56,22 @@ var _ Handler = &csiHandler{} // NewCSIHandler creates a new CSIHandler. func NewCSIHandler( client kubernetes.Interface, - csiClientSet csiclient.Interface, attacherName string, attacher attacher.Attacher, pvLister corelisters.PersistentVolumeLister, nodeLister corelisters.NodeLister, - nodeInfoLister csilisters.CSINodeInfoLister, + csiNodeLister storagelisters.CSINodeLister, vaLister storagelisters.VolumeAttachmentLister, timeout *time.Duration, supportsPublishReadOnly bool) Handler { return &csiHandler{ client: client, - csiClientSet: csiClientSet, attacherName: attacherName, attacher: attacher, pvLister: pvLister, nodeLister: nodeLister, - nodeInfoLister: nodeInfoLister, + csiNodeLister: csiNodeLister, vaLister: vaLister, timeout: *timeout, supportsPublishReadOnly: supportsPublishReadOnly, @@ -507,20 +502,19 @@ func (h *csiHandler) getCredentialsFromPV(csiSource *v1.CSIPersistentVolumeSourc // getNodeID finds node ID from Node API object. If caller wants, it can find // node ID stored in VolumeAttachment annotation. func (h *csiHandler) getNodeID(driver string, nodeName string, va *storage.VolumeAttachment) (string, error) { - // Try to find CSINodeInfo first. - // nodeInfo, err := h.nodeInfoLister.Get(nodeName) // TODO (kubernetes/kubernetes #71052) use the lister once it syncs existing CSINodeInfo objects properly. - nodeInfo, err := h.csiClientSet.CsiV1alpha1().CSINodeInfos().Get(nodeName, metav1.GetOptions{}) + // Try to find CSINode first. + csiNode, err := h.csiNodeLister.Get(nodeName) if err == nil { - if nodeID, found := GetNodeIDFromNodeInfo(driver, nodeInfo); found { - klog.V(4).Infof("Found NodeID %s in CSINodeInfo %s", nodeID, nodeName) + if nodeID, found := GetNodeIDFromCSINode(driver, csiNode); found { + klog.V(4).Infof("Found NodeID %s in CSINode %s", nodeID, nodeName) return nodeID, nil } - klog.V(4).Infof("CSINodeInfo %s does not contain driver %s", nodeName, driver) - // CSINodeInfo exists, but does not have the requested driver. + klog.V(4).Infof("CSINode %s does not contain driver %s", nodeName, driver) + // CSINode exists, but does not have the requested driver. // Fall through to Node annotation. } else { - // Can't get CSINodeInfo, fall through to Node annotation. - klog.V(4).Infof("Can't get CSINodeInfo %s: %s", nodeName, err) + // Can't get CSINode, fall through to Node annotation. + klog.V(4).Infof("Can't get CSINode %s: %s", nodeName, err) } // Check Node annotation. diff --git a/pkg/controller/csi_handler_test.go b/pkg/controller/csi_handler_test.go index 48e1cc609..5216724bd 100644 --- a/pkg/controller/csi_handler_test.go +++ b/pkg/controller/csi_handler_test.go @@ -33,9 +33,6 @@ import ( "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" core "k8s.io/client-go/testing" - csiapi "k8s.io/csi-api/pkg/apis/csi/v1alpha1" - csiclient "k8s.io/csi-api/pkg/client/clientset/versioned" - csiinformers "k8s.io/csi-api/pkg/client/informers/externalversions" ) const ( @@ -51,30 +48,28 @@ var ( var timeout = 10 * time.Millisecond -func csiHandlerFactory(client kubernetes.Interface, csiClient csiclient.Interface, informerFactory informers.SharedInformerFactory, csiInformerFactory csiinformers.SharedInformerFactory, csi attacher.Attacher) Handler { +func csiHandlerFactory(client kubernetes.Interface, informerFactory informers.SharedInformerFactory, csi attacher.Attacher) Handler { return NewCSIHandler( client, - csiClient, testAttacherName, csi, informerFactory.Core().V1().PersistentVolumes().Lister(), informerFactory.Core().V1().Nodes().Lister(), - csiInformerFactory.Csi().V1alpha1().CSINodeInfos().Lister(), + informerFactory.Storage().V1beta1().CSINodes().Lister(), informerFactory.Storage().V1beta1().VolumeAttachments().Lister(), &timeout, true, /* supports PUBLISH_READONLY */ ) } -func csiHandlerFactoryNoReadOnly(client kubernetes.Interface, csiClient csiclient.Interface, informerFactory informers.SharedInformerFactory, csiInformerFactory csiinformers.SharedInformerFactory, csi attacher.Attacher) Handler { +func csiHandlerFactoryNoReadOnly(client kubernetes.Interface, informerFactory informers.SharedInformerFactory, csi attacher.Attacher) Handler { return NewCSIHandler( client, - csiClient, testAttacherName, csi, informerFactory.Core().V1().PersistentVolumes().Lister(), informerFactory.Core().V1().Nodes().Lister(), - csiInformerFactory.Csi().V1alpha1().CSINodeInfos().Lister(), + informerFactory.Storage().V1beta1().CSINodes().Lister(), informerFactory.Storage().V1beta1().VolumeAttachments().Lister(), &timeout, false, /* does not support PUBLISH_READONLY */ @@ -182,13 +177,13 @@ func nodeWithoutAnnotations() *v1.Node { return n } -func csiNodeInfo() *csiapi.CSINodeInfo { - return &csiapi.CSINodeInfo{ +func csiNode() *storage.CSINode { + return &storage.CSINode{ ObjectMeta: metav1.ObjectMeta{ Name: testNodeName, }, - Spec: csiapi.CSINodeInfoSpec{ - Drivers: []csiapi.CSIDriverInfoSpec{ + Spec: storage.CSINodeSpec{ + Drivers: []storage.CSINodeDriver{ { Name: testAttacherName, NodeID: testNodeID, @@ -198,12 +193,12 @@ func csiNodeInfo() *csiapi.CSINodeInfo { } } -func csiNodeInfoEmpty() *csiapi.CSINodeInfo { - return &csiapi.CSINodeInfo{ +func csiNodeEmpty() *storage.CSINode { + return &storage.CSINode{ ObjectMeta: metav1.ObjectMeta{ Name: testNodeName, }, - Spec: csiapi.CSINodeInfoSpec{Drivers: []csiapi.CSIDriverInfoSpec{}}, + Spec: storage.CSINodeSpec{Drivers: []storage.CSINodeDriver{}}, } } @@ -593,16 +588,16 @@ func TestCSIHandler(t *testing.T) { }, }, { - name: "CSINodeInfo exists without the driver, Node without annotations -> error", - initialObjects: []runtime.Object{pvWithFinalizer(), nodeWithoutAnnotations(), csiNodeInfoEmpty()}, + name: "CSINode exists without the driver, Node without annotations -> error", + initialObjects: []runtime.Object{pvWithFinalizer(), nodeWithoutAnnotations(), csiNodeEmpty()}, addedVA: va(false, fin, ann), expectedActions: []core.Action{ core.NewUpdateAction(vaGroupResourceVersion, metav1.NamespaceNone, vaWithAttachError(va(false, fin, ann), "node \"node1\" has no NodeID annotation")), }, }, { - name: "CSINodeInfo exists with the driver, Node without annotations -> success", - initialObjects: []runtime.Object{pvWithFinalizer(), nodeWithoutAnnotations(), csiNodeInfo()}, + name: "CSINode exists with the driver, Node without annotations -> success", + initialObjects: []runtime.Object{pvWithFinalizer(), nodeWithoutAnnotations(), csiNode()}, addedVA: va(false /*attached*/, "" /*finalizer*/, nil), expectedActions: []core.Action{ // Finalizer is saved first diff --git a/pkg/controller/framework_test.go b/pkg/controller/framework_test.go index 00e172168..5a9491f72 100644 --- a/pkg/controller/framework_test.go +++ b/pkg/controller/framework_test.go @@ -37,10 +37,6 @@ import ( "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/fake" core "k8s.io/client-go/testing" - csiapi "k8s.io/csi-api/pkg/apis/csi/v1alpha1" - csiclient "k8s.io/csi-api/pkg/client/clientset/versioned" - fakecsi "k8s.io/csi-api/pkg/client/clientset/versioned/fake" - csiinformers "k8s.io/csi-api/pkg/client/informers/externalversions" ) // This is an unit test framework. It is heavily inspired by serviceaccount @@ -102,7 +98,7 @@ type csiCall struct { delay time.Duration } -type handlerFactory func(client kubernetes.Interface, csiClient csiclient.Interface, informerFactory informers.SharedInformerFactory, csiInformerFactory csiinformers.SharedInformerFactory, csi attacher.Attacher) Handler +type handlerFactory func(client kubernetes.Interface, informerFactory informers.SharedInformerFactory, csi attacher.Attacher) Handler func runTests(t *testing.T, handlerFactory handlerFactory, tests []testCase) { for _, test := range tests { @@ -122,7 +118,7 @@ func runTests(t *testing.T, handlerFactory handlerFactory, tests []testCase) { csiObjs := []runtime.Object{} for _, obj := range objs { switch obj.(type) { - case *csiapi.CSINodeInfo: + case *storage.CSINode: csiObjs = append(csiObjs, obj) default: coreObjs = append(coreObjs, obj) @@ -131,13 +127,11 @@ func runTests(t *testing.T, handlerFactory handlerFactory, tests []testCase) { // Create client and informers client := fake.NewSimpleClientset(coreObjs...) - csiClient := fakecsi.NewSimpleClientset(csiObjs...) informers := informers.NewSharedInformerFactory(client, time.Hour /* disable resync*/) vaInformer := informers.Storage().V1beta1().VolumeAttachments() pvInformer := informers.Core().V1().PersistentVolumes() nodeInformer := informers.Core().V1().Nodes() - csiInformers := csiinformers.NewSharedInformerFactory(csiClient, time.Hour /* disable resync*/) - nodeInfoInformer := csiInformers.Csi().V1alpha1().CSINodeInfos() + csiNodeInformer := informers.Storage().V1beta1().CSINodes() // Fill the informers with initial objects so controller can Get() them for _, obj := range objs { switch obj.(type) { @@ -149,8 +143,8 @@ func runTests(t *testing.T, handlerFactory handlerFactory, tests []testCase) { vaInformer.Informer().GetStore().Add(obj) case *v1.Secret: // Secrets are not cached in any informer - case *csiapi.CSINodeInfo: - nodeInfoInformer.Informer().GetStore().Add(obj) + case *storage.CSINode: + csiNodeInformer.Informer().GetStore().Add(obj) default: t.Fatalf("Unknown initalObject type: %+v", obj) } @@ -180,7 +174,7 @@ func runTests(t *testing.T, handlerFactory handlerFactory, tests []testCase) { // Construct controller csiConnection := &fakeCSIConnection{t: t, calls: test.expectedCSICalls} - handler := handlerFactory(client, csiClient, informers, csiInformers, csiConnection) + handler := handlerFactory(client, informers, csiConnection) ctrl := NewCSIAttachController(client, testAttacherName, handler, vaInformer, pvInformer) // Start the test by enqueueing the right event diff --git a/pkg/controller/trivial_handler_test.go b/pkg/controller/trivial_handler_test.go index ca8c7744f..086790ce3 100644 --- a/pkg/controller/trivial_handler_test.go +++ b/pkg/controller/trivial_handler_test.go @@ -30,11 +30,9 @@ import ( "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" core "k8s.io/client-go/testing" - csiclient "k8s.io/csi-api/pkg/client/clientset/versioned" - csiinformers "k8s.io/csi-api/pkg/client/informers/externalversions" ) -func trivialHandlerFactory(client kubernetes.Interface, csiClient csiclient.Interface, informerFactory informers.SharedInformerFactory, csiInformerFactory csiinformers.SharedInformerFactory, csi attacher.Attacher) Handler { +func trivialHandlerFactory(client kubernetes.Interface, informerFactory informers.SharedInformerFactory, csi attacher.Attacher) Handler { return NewTrivialHandler(client) } diff --git a/pkg/controller/util.go b/pkg/controller/util.go index c876e2bd1..157ff53e0 100644 --- a/pkg/controller/util.go +++ b/pkg/controller/util.go @@ -25,7 +25,6 @@ import ( "k8s.io/api/core/v1" storage "k8s.io/api/storage/v1beta1" "k8s.io/client-go/kubernetes" - csiapi "k8s.io/csi-api/pkg/apis/csi/v1alpha1" "k8s.io/klog" ) @@ -125,9 +124,9 @@ func GetNodeIDFromNode(driver string, node *v1.Node) (string, error) { return nodeID, nil } -// GetNodeIDFromNodeInfo returns nodeID from CSIDriverInfoSpec -func GetNodeIDFromNodeInfo(driver string, nodeInfo *csiapi.CSINodeInfo) (string, bool) { - for _, d := range nodeInfo.Spec.Drivers { +// GetNodeIDFromCSINode returns nodeID from CSIDriverInfoSpec +func GetNodeIDFromCSINode(driver string, csiNode *storage.CSINode) (string, bool) { + for _, d := range csiNode.Spec.Drivers { if d.Name == driver { return d.NodeID, true } diff --git a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/fake/clientset_generated.go b/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/fake/clientset_generated.go deleted file mode 100644 index baa4a4583..000000000 --- a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/fake/clientset_generated.go +++ /dev/null @@ -1,77 +0,0 @@ -/* -Copyright 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. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/client-go/discovery" - fakediscovery "k8s.io/client-go/discovery/fake" - "k8s.io/client-go/testing" - clientset "k8s.io/csi-api/pkg/client/clientset/versioned" - csiv1alpha1 "k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1" - fakecsiv1alpha1 "k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake" -) - -// NewSimpleClientset returns a clientset that will respond with the provided objects. -// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, -// without applying any validations and/or defaults. It shouldn't be considered a replacement -// for a real clientset and is mostly useful in simple unit tests. -func NewSimpleClientset(objects ...runtime.Object) *Clientset { - o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) - for _, obj := range objects { - if err := o.Add(obj); err != nil { - panic(err) - } - } - - cs := &Clientset{} - cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} - cs.AddReactor("*", "*", testing.ObjectReaction(o)) - cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { - gvr := action.GetResource() - ns := action.GetNamespace() - watch, err := o.Watch(gvr, ns) - if err != nil { - return false, nil, err - } - return true, watch, nil - }) - - return cs -} - -// Clientset implements clientset.Interface. Meant to be embedded into a -// struct to get a default implementation. This makes faking out just the method -// you want to test easier. -type Clientset struct { - testing.Fake - discovery *fakediscovery.FakeDiscovery -} - -func (c *Clientset) Discovery() discovery.DiscoveryInterface { - return c.discovery -} - -var _ clientset.Interface = &Clientset{} - -// CsiV1alpha1 retrieves the CsiV1alpha1Client -func (c *Clientset) CsiV1alpha1() csiv1alpha1.CsiV1alpha1Interface { - return &fakecsiv1alpha1.FakeCsiV1alpha1{Fake: &c.Fake} -} diff --git a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/fake/doc.go b/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/fake/doc.go deleted file mode 100644 index 9b99e7167..000000000 --- a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/fake/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 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. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -// This package has the automatically generated fake clientset. -package fake diff --git a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/fake/register.go b/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/fake/register.go deleted file mode 100644 index 6f04c670d..000000000 --- a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/fake/register.go +++ /dev/null @@ -1,56 +0,0 @@ -/* -Copyright 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. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - schema "k8s.io/apimachinery/pkg/runtime/schema" - serializer "k8s.io/apimachinery/pkg/runtime/serializer" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - csiv1alpha1 "k8s.io/csi-api/pkg/apis/csi/v1alpha1" -) - -var scheme = runtime.NewScheme() -var codecs = serializer.NewCodecFactory(scheme) -var parameterCodec = runtime.NewParameterCodec(scheme) -var localSchemeBuilder = runtime.SchemeBuilder{ - csiv1alpha1.AddToScheme, -} - -// AddToScheme adds all types of this clientset into the given scheme. This allows composition -// of clientsets, like in: -// -// import ( -// "k8s.io/client-go/kubernetes" -// clientsetscheme "k8s.io/client-go/kubernetes/scheme" -// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" -// ) -// -// kclientset, _ := kubernetes.NewForConfig(c) -// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) -// -// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types -// correctly. -var AddToScheme = localSchemeBuilder.AddToScheme - -func init() { - v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) - utilruntime.Must(AddToScheme(scheme)) -} diff --git a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/doc.go b/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/doc.go deleted file mode 100644 index 16f443990..000000000 --- a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 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. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -// Package fake has the automatically generated clients. -package fake diff --git a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/fake_csi_client.go b/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/fake_csi_client.go deleted file mode 100644 index 4c279ee1a..000000000 --- a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/fake_csi_client.go +++ /dev/null @@ -1,44 +0,0 @@ -/* -Copyright 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. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - rest "k8s.io/client-go/rest" - testing "k8s.io/client-go/testing" - v1alpha1 "k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1" -) - -type FakeCsiV1alpha1 struct { - *testing.Fake -} - -func (c *FakeCsiV1alpha1) CSIDrivers() v1alpha1.CSIDriverInterface { - return &FakeCSIDrivers{c} -} - -func (c *FakeCsiV1alpha1) CSINodeInfos() v1alpha1.CSINodeInfoInterface { - return &FakeCSINodeInfos{c} -} - -// RESTClient returns a RESTClient that is used to communicate -// with API server by this client implementation. -func (c *FakeCsiV1alpha1) RESTClient() rest.Interface { - var ret *rest.RESTClient - return ret -} diff --git a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/fake_csidriver.go b/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/fake_csidriver.go deleted file mode 100644 index df96b10bd..000000000 --- a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/fake_csidriver.go +++ /dev/null @@ -1,120 +0,0 @@ -/* -Copyright 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. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - testing "k8s.io/client-go/testing" - v1alpha1 "k8s.io/csi-api/pkg/apis/csi/v1alpha1" -) - -// FakeCSIDrivers implements CSIDriverInterface -type FakeCSIDrivers struct { - Fake *FakeCsiV1alpha1 -} - -var csidriversResource = schema.GroupVersionResource{Group: "csi.storage.k8s.io", Version: "v1alpha1", Resource: "csidrivers"} - -var csidriversKind = schema.GroupVersionKind{Group: "csi.storage.k8s.io", Version: "v1alpha1", Kind: "CSIDriver"} - -// Get takes name of the cSIDriver, and returns the corresponding cSIDriver object, and an error if there is any. -func (c *FakeCSIDrivers) Get(name string, options v1.GetOptions) (result *v1alpha1.CSIDriver, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootGetAction(csidriversResource, name), &v1alpha1.CSIDriver{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.CSIDriver), err -} - -// List takes label and field selectors, and returns the list of CSIDrivers that match those selectors. -func (c *FakeCSIDrivers) List(opts v1.ListOptions) (result *v1alpha1.CSIDriverList, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootListAction(csidriversResource, csidriversKind, opts), &v1alpha1.CSIDriverList{}) - if obj == nil { - return nil, err - } - - label, _, _ := testing.ExtractFromListOptions(opts) - if label == nil { - label = labels.Everything() - } - list := &v1alpha1.CSIDriverList{ListMeta: obj.(*v1alpha1.CSIDriverList).ListMeta} - for _, item := range obj.(*v1alpha1.CSIDriverList).Items { - if label.Matches(labels.Set(item.Labels)) { - list.Items = append(list.Items, item) - } - } - return list, err -} - -// Watch returns a watch.Interface that watches the requested cSIDrivers. -func (c *FakeCSIDrivers) Watch(opts v1.ListOptions) (watch.Interface, error) { - return c.Fake. - InvokesWatch(testing.NewRootWatchAction(csidriversResource, opts)) -} - -// Create takes the representation of a cSIDriver and creates it. Returns the server's representation of the cSIDriver, and an error, if there is any. -func (c *FakeCSIDrivers) Create(cSIDriver *v1alpha1.CSIDriver) (result *v1alpha1.CSIDriver, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootCreateAction(csidriversResource, cSIDriver), &v1alpha1.CSIDriver{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.CSIDriver), err -} - -// Update takes the representation of a cSIDriver and updates it. Returns the server's representation of the cSIDriver, and an error, if there is any. -func (c *FakeCSIDrivers) Update(cSIDriver *v1alpha1.CSIDriver) (result *v1alpha1.CSIDriver, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootUpdateAction(csidriversResource, cSIDriver), &v1alpha1.CSIDriver{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.CSIDriver), err -} - -// Delete takes name of the cSIDriver and deletes it. Returns an error if one occurs. -func (c *FakeCSIDrivers) Delete(name string, options *v1.DeleteOptions) error { - _, err := c.Fake. - Invokes(testing.NewRootDeleteAction(csidriversResource, name), &v1alpha1.CSIDriver{}) - return err -} - -// DeleteCollection deletes a collection of objects. -func (c *FakeCSIDrivers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { - action := testing.NewRootDeleteCollectionAction(csidriversResource, listOptions) - - _, err := c.Fake.Invokes(action, &v1alpha1.CSIDriverList{}) - return err -} - -// Patch applies the patch and returns the patched cSIDriver. -func (c *FakeCSIDrivers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.CSIDriver, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootPatchSubresourceAction(csidriversResource, name, pt, data, subresources...), &v1alpha1.CSIDriver{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.CSIDriver), err -} diff --git a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/fake_csinodeinfo.go b/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/fake_csinodeinfo.go deleted file mode 100644 index 6e44b9d38..000000000 --- a/vendor/k8s.io/csi-api/pkg/client/clientset/versioned/typed/csi/v1alpha1/fake/fake_csinodeinfo.go +++ /dev/null @@ -1,131 +0,0 @@ -/* -Copyright 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. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - testing "k8s.io/client-go/testing" - v1alpha1 "k8s.io/csi-api/pkg/apis/csi/v1alpha1" -) - -// FakeCSINodeInfos implements CSINodeInfoInterface -type FakeCSINodeInfos struct { - Fake *FakeCsiV1alpha1 -} - -var csinodeinfosResource = schema.GroupVersionResource{Group: "csi.storage.k8s.io", Version: "v1alpha1", Resource: "csinodeinfos"} - -var csinodeinfosKind = schema.GroupVersionKind{Group: "csi.storage.k8s.io", Version: "v1alpha1", Kind: "CSINodeInfo"} - -// Get takes name of the cSINodeInfo, and returns the corresponding cSINodeInfo object, and an error if there is any. -func (c *FakeCSINodeInfos) Get(name string, options v1.GetOptions) (result *v1alpha1.CSINodeInfo, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootGetAction(csinodeinfosResource, name), &v1alpha1.CSINodeInfo{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.CSINodeInfo), err -} - -// List takes label and field selectors, and returns the list of CSINodeInfos that match those selectors. -func (c *FakeCSINodeInfos) List(opts v1.ListOptions) (result *v1alpha1.CSINodeInfoList, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootListAction(csinodeinfosResource, csinodeinfosKind, opts), &v1alpha1.CSINodeInfoList{}) - if obj == nil { - return nil, err - } - - label, _, _ := testing.ExtractFromListOptions(opts) - if label == nil { - label = labels.Everything() - } - list := &v1alpha1.CSINodeInfoList{ListMeta: obj.(*v1alpha1.CSINodeInfoList).ListMeta} - for _, item := range obj.(*v1alpha1.CSINodeInfoList).Items { - if label.Matches(labels.Set(item.Labels)) { - list.Items = append(list.Items, item) - } - } - return list, err -} - -// Watch returns a watch.Interface that watches the requested cSINodeInfos. -func (c *FakeCSINodeInfos) Watch(opts v1.ListOptions) (watch.Interface, error) { - return c.Fake. - InvokesWatch(testing.NewRootWatchAction(csinodeinfosResource, opts)) -} - -// Create takes the representation of a cSINodeInfo and creates it. Returns the server's representation of the cSINodeInfo, and an error, if there is any. -func (c *FakeCSINodeInfos) Create(cSINodeInfo *v1alpha1.CSINodeInfo) (result *v1alpha1.CSINodeInfo, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootCreateAction(csinodeinfosResource, cSINodeInfo), &v1alpha1.CSINodeInfo{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.CSINodeInfo), err -} - -// Update takes the representation of a cSINodeInfo and updates it. Returns the server's representation of the cSINodeInfo, and an error, if there is any. -func (c *FakeCSINodeInfos) Update(cSINodeInfo *v1alpha1.CSINodeInfo) (result *v1alpha1.CSINodeInfo, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootUpdateAction(csinodeinfosResource, cSINodeInfo), &v1alpha1.CSINodeInfo{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.CSINodeInfo), err -} - -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeCSINodeInfos) UpdateStatus(cSINodeInfo *v1alpha1.CSINodeInfo) (*v1alpha1.CSINodeInfo, error) { - obj, err := c.Fake. - Invokes(testing.NewRootUpdateSubresourceAction(csinodeinfosResource, "status", cSINodeInfo), &v1alpha1.CSINodeInfo{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.CSINodeInfo), err -} - -// Delete takes name of the cSINodeInfo and deletes it. Returns an error if one occurs. -func (c *FakeCSINodeInfos) Delete(name string, options *v1.DeleteOptions) error { - _, err := c.Fake. - Invokes(testing.NewRootDeleteAction(csinodeinfosResource, name), &v1alpha1.CSINodeInfo{}) - return err -} - -// DeleteCollection deletes a collection of objects. -func (c *FakeCSINodeInfos) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { - action := testing.NewRootDeleteCollectionAction(csinodeinfosResource, listOptions) - - _, err := c.Fake.Invokes(action, &v1alpha1.CSINodeInfoList{}) - return err -} - -// Patch applies the patch and returns the patched cSINodeInfo. -func (c *FakeCSINodeInfos) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.CSINodeInfo, err error) { - obj, err := c.Fake. - Invokes(testing.NewRootPatchSubresourceAction(csinodeinfosResource, name, pt, data, subresources...), &v1alpha1.CSINodeInfo{}) - if obj == nil { - return nil, err - } - return obj.(*v1alpha1.CSINodeInfo), err -}