in benchmarks/benchmark/tools/model-load-benchmark/suite-generator/generator.go [27:61]
func generateSideCarAndVolumeCases(base config.Config) []config.Config {
sideCarCases := []config.Config{deepCopyConfig(base)}
if base.SideCarResources != nil {
sideCarCases = generateResourceCasesForStruct(base, "SideCarResources", reflect.ValueOf(base.SideCarResources))
}
fmt.Printf("Number of sidecarresource combinations generated %v \n", len(sideCarCases))
var volumeCases []config.Config
for _, sideCarCase := range sideCarCases {
if sideCarCase.VolumeAttributes != nil {
generatedVolumeCases := generateResourceCasesForStruct(sideCarCase, "VolumeAttributes", reflect.ValueOf(sideCarCase.VolumeAttributes))
volumeCases = append(volumeCases, generatedVolumeCases...)
} else {
volumeCases = append(volumeCases, sideCarCase)
}
}
fmt.Printf("Number of sidecarresource and volume case combinations generated %v\n", len(volumeCases))
var finalCases []config.Config
for _, volumeCase := range volumeCases {
if volumeCase.VolumeAttributes != nil {
generatedBoolCases := generateBoolCasesForStruct(volumeCase)
finalCases = append(finalCases, generatedBoolCases...)
} else {
finalCases = append(finalCases, volumeCase)
}
}
fmt.Printf("Number of all combinations generated %v \n", len(finalCases))
if len(finalCases) == 0 {
finalCases = append(finalCases, deepCopyConfig(base))
}
return finalCases
}