Skip to content

[Enhancement] [disaggregated] add PersistentVolume array for support different mountpath config. #363

@intelligentfu8

Description

@intelligentfu8

Search before asking

  • I had searched in the issues and found no similar issues.

Description

Now, DorisDisaggregatedCluster resource uses the same persistent volume template to generate persistent volume claims for all mount paths. Custom special configurations for different mount paths, will not be allowed.

Solution

add []PersistentVolume in DorisDisaggregatedCluster Resource Definition.
PersistentVolume struct as follows:

// PersistentVolume defines volume information and container mount information.
type PersistentVolume struct {
	// PersistentVolumeClaimSpec is a list of claim spec about storage that pods are required.
	// +kubebuilder:validation:Optional
	corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`

	// specify mountPaths, if not config, operator will refer from be.conf `cache_file_path`.
	// when mountPaths=[]{"/opt/path1", "/opt/path2"}, will create two pvc mount the two paths. also, operator will mount the cache_file_path config in be.conf .
	// if mountPaths have duplicated path in cache_file_path, operator will only create one pvc.
	MountPaths []string `json:"mountPaths,omitempty"`

	//Annotation for PVC pods. Users can adapt the storage authentication and pv binding of the cloud platform through configuration.
	//It only takes effect in the first configuration and cannot be added or modified later.
	Annotations map[string]string `json:"annotations,omitempty"`
}

Use the mountPath to deduplicate. The first PersistentVolume in array effect if have the same template in next.
the PersistVolume in DorisDisaggregatedCluster will deprecated, so must add a field LogNotStore in DorisDisaggregatedCluster to specify not store log in file.

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementthe ability need be enhanced

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions