diff --git a/config/crd/bases/psmdb.percona.com_perconaservermongodbs.yaml b/config/crd/bases/psmdb.percona.com_perconaservermongodbs.yaml index 2bc2c8fa1..be73530a1 100644 --- a/config/crd/bases/psmdb.percona.com_perconaservermongodbs.yaml +++ b/config/crd/bases/psmdb.percona.com_perconaservermongodbs.yaml @@ -439,6 +439,8 @@ spec: type: string enableVolumeExpansion: type: boolean + externalVolumeAutoscaling: + type: boolean ignoreAnnotations: items: type: string diff --git a/pkg/apis/psmdb/v1/psmdb_types.go b/pkg/apis/psmdb/v1/psmdb_types.go index 40374a811..6c92fec05 100644 --- a/pkg/apis/psmdb/v1/psmdb_types.go +++ b/pkg/apis/psmdb/v1/psmdb_types.go @@ -97,6 +97,7 @@ type PerconaServerMongoDBSpec struct { Users []User `json:"users,omitempty"` Roles []Role `json:"roles,omitempty"` VolumeExpansionEnabled bool `json:"enableVolumeExpansion,omitempty"` + ExternalVolumeAutoscaling bool `json:"externalVolumeAutoscaling,omitempty"` } type UserRole struct { diff --git a/pkg/controller/perconaservermongodb/volumes.go b/pkg/controller/perconaservermongodb/volumes.go index c2e41fbb7..1da25ccda 100644 --- a/pkg/controller/perconaservermongodb/volumes.go +++ b/pkg/controller/perconaservermongodb/volumes.go @@ -48,6 +48,10 @@ func validatePVCName(pvc corev1.PersistentVolumeClaim, sts *appsv1.StatefulSet) } func (r *ReconcilePerconaServerMongoDB) resizeVolumesIfNeeded(ctx context.Context, cr *psmdbv1.PerconaServerMongoDB, sts *appsv1.StatefulSet, ls map[string]string, volumeSpec *api.VolumeSpec) error { + if cr.Spec.ExternalVolumeAutoscaling { + return nil + } + log := logf.FromContext(ctx).WithName("PVCResize").WithValues("sts", sts.Name) pvcSpec := volumeSpec.PersistentVolumeClaim