Merge pull request #126145 from carlory/kep-3751-api

[KEP-3751] Promote VolumeAttributesClass to beta
This commit is contained in:
Kubernetes Prow Robot
2024-07-23 13:31:05 -07:00
committed by GitHub
57 changed files with 5233 additions and 208 deletions

View File

@@ -357,7 +357,7 @@ type PersistentVolumeSpec struct {
// after a volume has been updated successfully to a new class.
// For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound
// PersistentVolumeClaims during the binding process.
// This is an alpha field and requires enabling VolumeAttributesClass feature.
// This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
// +featureGate=VolumeAttributesClass
// +optional
VolumeAttributesClassName *string
@@ -523,7 +523,7 @@ type PersistentVolumeClaimSpec struct {
// set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
// exists.
// More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
// (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
// (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
// +featureGate=VolumeAttributesClass
// +optional
VolumeAttributesClassName *string
@@ -726,13 +726,13 @@ type PersistentVolumeClaimStatus struct {
AllocatedResourceStatuses map[ResourceName]ClaimResourceStatus
// currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
// When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
// This is an alpha field and requires enabling VolumeAttributesClass feature.
// This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
// +featureGate=VolumeAttributesClass
// +optional
CurrentVolumeAttributesClassName *string
// ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
// When this is unset, there is no ModifyVolume operation being attempted.
// This is an alpha field and requires enabling VolumeAttributesClass feature.
// This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
// +featureGate=VolumeAttributesClass
// +optional
ModifyVolumeStatus *ModifyVolumeStatus

View File

@@ -212,6 +212,26 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*v1beta1.VolumeAttributesClass)(nil), (*storage.VolumeAttributesClass)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta1_VolumeAttributesClass_To_storage_VolumeAttributesClass(a.(*v1beta1.VolumeAttributesClass), b.(*storage.VolumeAttributesClass), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*storage.VolumeAttributesClass)(nil), (*v1beta1.VolumeAttributesClass)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_storage_VolumeAttributesClass_To_v1beta1_VolumeAttributesClass(a.(*storage.VolumeAttributesClass), b.(*v1beta1.VolumeAttributesClass), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*v1beta1.VolumeAttributesClassList)(nil), (*storage.VolumeAttributesClassList)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta1_VolumeAttributesClassList_To_storage_VolumeAttributesClassList(a.(*v1beta1.VolumeAttributesClassList), b.(*storage.VolumeAttributesClassList), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*storage.VolumeAttributesClassList)(nil), (*v1beta1.VolumeAttributesClassList)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_storage_VolumeAttributesClassList_To_v1beta1_VolumeAttributesClassList(a.(*storage.VolumeAttributesClassList), b.(*v1beta1.VolumeAttributesClassList), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*v1beta1.VolumeError)(nil), (*storage.VolumeError)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta1_VolumeError_To_storage_VolumeError(a.(*v1beta1.VolumeError), b.(*storage.VolumeError), scope)
}); err != nil {
@@ -725,6 +745,52 @@ func Convert_storage_VolumeAttachmentStatus_To_v1beta1_VolumeAttachmentStatus(in
return autoConvert_storage_VolumeAttachmentStatus_To_v1beta1_VolumeAttachmentStatus(in, out, s)
}
func autoConvert_v1beta1_VolumeAttributesClass_To_storage_VolumeAttributesClass(in *v1beta1.VolumeAttributesClass, out *storage.VolumeAttributesClass, s conversion.Scope) error {
out.ObjectMeta = in.ObjectMeta
out.DriverName = in.DriverName
out.Parameters = *(*map[string]string)(unsafe.Pointer(&in.Parameters))
return nil
}
// Convert_v1beta1_VolumeAttributesClass_To_storage_VolumeAttributesClass is an autogenerated conversion function.
func Convert_v1beta1_VolumeAttributesClass_To_storage_VolumeAttributesClass(in *v1beta1.VolumeAttributesClass, out *storage.VolumeAttributesClass, s conversion.Scope) error {
return autoConvert_v1beta1_VolumeAttributesClass_To_storage_VolumeAttributesClass(in, out, s)
}
func autoConvert_storage_VolumeAttributesClass_To_v1beta1_VolumeAttributesClass(in *storage.VolumeAttributesClass, out *v1beta1.VolumeAttributesClass, s conversion.Scope) error {
out.ObjectMeta = in.ObjectMeta
out.DriverName = in.DriverName
out.Parameters = *(*map[string]string)(unsafe.Pointer(&in.Parameters))
return nil
}
// Convert_storage_VolumeAttributesClass_To_v1beta1_VolumeAttributesClass is an autogenerated conversion function.
func Convert_storage_VolumeAttributesClass_To_v1beta1_VolumeAttributesClass(in *storage.VolumeAttributesClass, out *v1beta1.VolumeAttributesClass, s conversion.Scope) error {
return autoConvert_storage_VolumeAttributesClass_To_v1beta1_VolumeAttributesClass(in, out, s)
}
func autoConvert_v1beta1_VolumeAttributesClassList_To_storage_VolumeAttributesClassList(in *v1beta1.VolumeAttributesClassList, out *storage.VolumeAttributesClassList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
out.Items = *(*[]storage.VolumeAttributesClass)(unsafe.Pointer(&in.Items))
return nil
}
// Convert_v1beta1_VolumeAttributesClassList_To_storage_VolumeAttributesClassList is an autogenerated conversion function.
func Convert_v1beta1_VolumeAttributesClassList_To_storage_VolumeAttributesClassList(in *v1beta1.VolumeAttributesClassList, out *storage.VolumeAttributesClassList, s conversion.Scope) error {
return autoConvert_v1beta1_VolumeAttributesClassList_To_storage_VolumeAttributesClassList(in, out, s)
}
func autoConvert_storage_VolumeAttributesClassList_To_v1beta1_VolumeAttributesClassList(in *storage.VolumeAttributesClassList, out *v1beta1.VolumeAttributesClassList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
out.Items = *(*[]v1beta1.VolumeAttributesClass)(unsafe.Pointer(&in.Items))
return nil
}
// Convert_storage_VolumeAttributesClassList_To_v1beta1_VolumeAttributesClassList is an autogenerated conversion function.
func Convert_storage_VolumeAttributesClassList_To_v1beta1_VolumeAttributesClassList(in *storage.VolumeAttributesClassList, out *v1beta1.VolumeAttributesClassList, s conversion.Scope) error {
return autoConvert_storage_VolumeAttributesClassList_To_v1beta1_VolumeAttributesClassList(in, out, s)
}
func autoConvert_v1beta1_VolumeError_To_storage_VolumeError(in *v1beta1.VolumeError, out *storage.VolumeError, s conversion.Scope) error {
out.Time = in.Time
out.Message = in.Message