in pkg/common/utils/resource/pod.go [777:826]
func getMultiConfigVolumeAndVolumeMount(cmInfo *v1.ConfigMapInfo, componentType v1.ComponentType) ([]corev1.Volume, []corev1.VolumeMount) {
var volumes []corev1.Volume
var volumeMounts []corev1.VolumeMount
if cmInfo == nil {
return volumes, volumeMounts
}
cms := GetMountConfigMapInfo(*cmInfo)
if len(cms) != 0 {
defaultMountPath := ""
switch componentType {
case v1.Component_FE, v1.Component_BE, v1.Component_CN, v1.Component_Broker:
defaultMountPath = config_env_path
default:
klog.Infof("getConfigVolumeAndVolumeMount componentType %s not supported.", componentType)
}
for _, cm := range cms {
path := cm.MountPath
if cm.MountPath == "" {
path = defaultMountPath
}
volumes = append(
volumes,
corev1.Volume{
Name: cm.ConfigMapName,
VolumeSource: corev1.VolumeSource{
ConfigMap: &corev1.ConfigMapVolumeSource{
LocalObjectReference: corev1.LocalObjectReference{
Name: cm.ConfigMapName,
},
},
},
},
)
volumeMounts = append(
volumeMounts,
corev1.VolumeMount{
Name: cm.ConfigMapName,
MountPath: path,
},
)
}
}
return volumes, volumeMounts
}