use generic set in storage/validation

This commit is contained in:
charles-chenzz 2023-04-01 11:39:46 +08:00
parent d89d5ab268
commit 4de0d2c6f8

View File

@ -325,7 +325,7 @@ func validateCSINodeSpec(
// ValidateCSINodeDrivers tests that the specified CSINodeDrivers have valid data. // ValidateCSINodeDrivers tests that the specified CSINodeDrivers have valid data.
func validateCSINodeDrivers(drivers []storage.CSINodeDriver, fldPath *field.Path, validationOpts CSINodeValidationOptions) field.ErrorList { func validateCSINodeDrivers(drivers []storage.CSINodeDriver, fldPath *field.Path, validationOpts CSINodeValidationOptions) field.ErrorList {
allErrs := field.ErrorList{} allErrs := field.ErrorList{}
driverNamesInSpecs := make(sets.String) driverNamesInSpecs := sets.New[string]()
for i, driver := range drivers { for i, driver := range drivers {
idxPath := fldPath.Index(i) idxPath := fldPath.Index(i)
allErrs = append(allErrs, validateCSINodeDriver(driver, driverNamesInSpecs, idxPath, validationOpts)...) allErrs = append(allErrs, validateCSINodeDriver(driver, driverNamesInSpecs, idxPath, validationOpts)...)
@ -370,7 +370,7 @@ func validateCSINodeDriverAllocatable(a *storage.VolumeNodeResources, fldPath *f
} }
// validateCSINodeDriver tests if CSINodeDriver has valid entries // validateCSINodeDriver tests if CSINodeDriver has valid entries
func validateCSINodeDriver(driver storage.CSINodeDriver, driverNamesInSpecs sets.String, fldPath *field.Path, func validateCSINodeDriver(driver storage.CSINodeDriver, driverNamesInSpecs sets.Set[string], fldPath *field.Path,
validationOpts CSINodeValidationOptions) field.ErrorList { validationOpts CSINodeValidationOptions) field.ErrorList {
allErrs := field.ErrorList{} allErrs := field.ErrorList{}
@ -383,7 +383,7 @@ func validateCSINodeDriver(driver storage.CSINodeDriver, driverNamesInSpecs sets
allErrs = append(allErrs, field.Duplicate(fldPath.Child("name"), driver.Name)) allErrs = append(allErrs, field.Duplicate(fldPath.Child("name"), driver.Name))
} }
driverNamesInSpecs.Insert(driver.Name) driverNamesInSpecs.Insert(driver.Name)
topoKeys := make(sets.String) topoKeys := sets.New[string]()
for _, key := range driver.TopologyKeys { for _, key := range driver.TopologyKeys {
if len(key) == 0 { if len(key) == 0 {
allErrs = append(allErrs, field.Required(fldPath, key)) allErrs = append(allErrs, field.Required(fldPath, key))