Merge pull request #54463 from saad-ali/volumeAttachmentAPI

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Introduce new `VolumeAttachment` API Object

**What this PR does / why we need it**:

Introduce a new `VolumeAttachment` API Object. This object will be used by the CSI volume plugin to enable external attachers (see design [here](https://github.com/kubernetes/community/pull/1258). In the future, existing volume plugins can be refactored to use this object as well.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*:  Part of issue https://github.com/kubernetes/features/issues/178

**Special notes for your reviewer**:
None

**Release note**:

```release-note
NONE
```

Kubernetes-commit: ebe8ea73fd1a961779242dfbb629befa153e96fc
This commit is contained in:
Kubernetes Publisher
2017-11-14 22:05:27 -08:00
289 changed files with 12733 additions and 7338 deletions
-2
View File
@@ -70,7 +70,6 @@ func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion)
)
// register manually. This usually goes through the SchemeBuilder, which we cannot use here.
scheme.AddGeneratedDeepCopyFuncs(GetGeneratedDeepCopyFuncs()...)
AddConversionFuncs(scheme)
RegisterDefaults(scheme)
}
@@ -90,6 +89,5 @@ func init() {
)
// register manually. This usually goes through the SchemeBuilder, which we cannot use here.
scheme.AddGeneratedDeepCopyFuncs(GetGeneratedDeepCopyFuncs()...)
RegisterDefaults(scheme)
}
-1
View File
@@ -32,7 +32,6 @@ go_library(
importpath = "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
deps = [
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/conversion/unstructured:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
@@ -21,27 +21,9 @@ limitations under the License.
package unstructured
import (
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
reflect "reflect"
)
// GetGeneratedDeepCopyFuncs returns the generated funcs, since we aren't registering them.
//
// Deprecated: deepcopy registration will go away when static deepcopy is fully implemented.
func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc {
return []conversion.GeneratedDeepCopyFunc{
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Unstructured).DeepCopyInto(out.(*Unstructured))
return nil
}, InType: reflect.TypeOf(&Unstructured{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*UnstructuredList).DeepCopyInto(out.(*UnstructuredList))
return nil
}, InType: reflect.TypeOf(&UnstructuredList{})},
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Unstructured) DeepCopyInto(out *Unstructured) {
clone := in.DeepCopy()
-154
View File
@@ -21,164 +21,10 @@ limitations under the License.
package v1
import (
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
types "k8s.io/apimachinery/pkg/types"
reflect "reflect"
)
// GetGeneratedDeepCopyFuncs returns the generated funcs, since we aren't registering them.
//
// Deprecated: deepcopy registration will go away when static deepcopy is fully implemented.
func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc {
return []conversion.GeneratedDeepCopyFunc{
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*APIGroup).DeepCopyInto(out.(*APIGroup))
return nil
}, InType: reflect.TypeOf(&APIGroup{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*APIGroupList).DeepCopyInto(out.(*APIGroupList))
return nil
}, InType: reflect.TypeOf(&APIGroupList{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*APIResource).DeepCopyInto(out.(*APIResource))
return nil
}, InType: reflect.TypeOf(&APIResource{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*APIResourceList).DeepCopyInto(out.(*APIResourceList))
return nil
}, InType: reflect.TypeOf(&APIResourceList{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*APIVersions).DeepCopyInto(out.(*APIVersions))
return nil
}, InType: reflect.TypeOf(&APIVersions{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*DeleteOptions).DeepCopyInto(out.(*DeleteOptions))
return nil
}, InType: reflect.TypeOf(&DeleteOptions{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Duration).DeepCopyInto(out.(*Duration))
return nil
}, InType: reflect.TypeOf(&Duration{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ExportOptions).DeepCopyInto(out.(*ExportOptions))
return nil
}, InType: reflect.TypeOf(&ExportOptions{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GetOptions).DeepCopyInto(out.(*GetOptions))
return nil
}, InType: reflect.TypeOf(&GetOptions{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GroupKind).DeepCopyInto(out.(*GroupKind))
return nil
}, InType: reflect.TypeOf(&GroupKind{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GroupResource).DeepCopyInto(out.(*GroupResource))
return nil
}, InType: reflect.TypeOf(&GroupResource{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GroupVersion).DeepCopyInto(out.(*GroupVersion))
return nil
}, InType: reflect.TypeOf(&GroupVersion{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GroupVersionForDiscovery).DeepCopyInto(out.(*GroupVersionForDiscovery))
return nil
}, InType: reflect.TypeOf(&GroupVersionForDiscovery{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GroupVersionKind).DeepCopyInto(out.(*GroupVersionKind))
return nil
}, InType: reflect.TypeOf(&GroupVersionKind{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GroupVersionResource).DeepCopyInto(out.(*GroupVersionResource))
return nil
}, InType: reflect.TypeOf(&GroupVersionResource{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Initializer).DeepCopyInto(out.(*Initializer))
return nil
}, InType: reflect.TypeOf(&Initializer{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Initializers).DeepCopyInto(out.(*Initializers))
return nil
}, InType: reflect.TypeOf(&Initializers{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*InternalEvent).DeepCopyInto(out.(*InternalEvent))
return nil
}, InType: reflect.TypeOf(&InternalEvent{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*LabelSelector).DeepCopyInto(out.(*LabelSelector))
return nil
}, InType: reflect.TypeOf(&LabelSelector{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*LabelSelectorRequirement).DeepCopyInto(out.(*LabelSelectorRequirement))
return nil
}, InType: reflect.TypeOf(&LabelSelectorRequirement{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*List).DeepCopyInto(out.(*List))
return nil
}, InType: reflect.TypeOf(&List{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ListMeta).DeepCopyInto(out.(*ListMeta))
return nil
}, InType: reflect.TypeOf(&ListMeta{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ListOptions).DeepCopyInto(out.(*ListOptions))
return nil
}, InType: reflect.TypeOf(&ListOptions{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*MicroTime).DeepCopyInto(out.(*MicroTime))
return nil
}, InType: reflect.TypeOf(&MicroTime{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ObjectMeta).DeepCopyInto(out.(*ObjectMeta))
return nil
}, InType: reflect.TypeOf(&ObjectMeta{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*OwnerReference).DeepCopyInto(out.(*OwnerReference))
return nil
}, InType: reflect.TypeOf(&OwnerReference{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Patch).DeepCopyInto(out.(*Patch))
return nil
}, InType: reflect.TypeOf(&Patch{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Preconditions).DeepCopyInto(out.(*Preconditions))
return nil
}, InType: reflect.TypeOf(&Preconditions{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*RootPaths).DeepCopyInto(out.(*RootPaths))
return nil
}, InType: reflect.TypeOf(&RootPaths{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ServerAddressByClientCIDR).DeepCopyInto(out.(*ServerAddressByClientCIDR))
return nil
}, InType: reflect.TypeOf(&ServerAddressByClientCIDR{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Status).DeepCopyInto(out.(*Status))
return nil
}, InType: reflect.TypeOf(&Status{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatusCause).DeepCopyInto(out.(*StatusCause))
return nil
}, InType: reflect.TypeOf(&StatusCause{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatusDetails).DeepCopyInto(out.(*StatusDetails))
return nil
}, InType: reflect.TypeOf(&StatusDetails{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Time).DeepCopyInto(out.(*Time))
return nil
}, InType: reflect.TypeOf(&Time{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Timestamp).DeepCopyInto(out.(*Timestamp))
return nil
}, InType: reflect.TypeOf(&Timestamp{})},
{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*WatchEvent).DeepCopyInto(out.(*WatchEvent))
return nil
}, InType: reflect.TypeOf(&WatchEvent{})},
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *APIGroup) DeepCopyInto(out *APIGroup) {
*out = *in