func()

in pkg/controller/sub_controller/sub_controller.go [169:200]


func (d *SubDefaultController) GetFinalPersistentVolumes(ctx context.Context, dcr *dorisv1.DorisCluster, componentType dorisv1.ComponentType) ([]dorisv1.PersistentVolume, error) {

	var baseSpec dorisv1.BaseSpec

	switch componentType {
	case dorisv1.Component_FE:
		baseSpec = dcr.Spec.FeSpec.BaseSpec
	case dorisv1.Component_BE:
		baseSpec = dcr.Spec.BeSpec.BaseSpec
	case dorisv1.Component_CN:
		baseSpec = dcr.Spec.CnSpec.BaseSpec
	case dorisv1.Component_Broker:
		baseSpec = dcr.Spec.BrokerSpec.BaseSpec
	default:
		klog.Infof("GetFinalPersistentVolumes the componentType %s is not supported.", componentType)
	}

	config, err := d.GetConfig(ctx, &baseSpec.ConfigMapInfo, dcr.Namespace, componentType)
	if err != nil {
		klog.Errorf("GetFinalPersistentVolumes GetConfig failed, namespace: %s,err: %s \n", dcr.Namespace, err.Error())
		return nil, err
	}

	_, _, sharedPaths := resource.BuildSharedVolumesAndVolumeMounts(dcr.Spec.SharedPersistentVolumeClaims, componentType)
	dorisPersistentVolumes, err := resource.GenerateEveryoneMountPathDorisPersistentVolume(&baseSpec, sharedPaths, config, componentType)
	if err != nil {
		klog.Errorf("GetFinalPersistentVolumes GenerateEveryoneMountPathDorisPersistentVolume failed, namespace: %s,err: %s \n", dcr.Namespace, err.Error())
		return nil, err
	}

	return dorisPersistentVolumes, nil
}