The chosen solution for this issue is to give everyone a large disk, but limit the disk usage with an ext4 feature called "project quotas".
After we have this feature with the quotas, we can add new logic in the control plane to give users more disk based on the maxCU setting in their endpoint.
Feature idea(s) / DoD
DoD is to get the change from "Implementation ideas" rolled out to staging and production.
Implementation ideas
The EmptyDiskSource struct should get a new field called EnableQuotas, which enables support for project quotas in the filesystem. The corresponding yaml for the disk can look like this:
Inside the VM, there should be a new script to control the quotas called /neonvm/bin/set-disk-quota. This script allows to set the quota for the specific filesystem:
# Usage can be like this:
/neonvm/bin/set-disk-quota <NEW_SIZE_IN_KB> <MOUNTPOINT>
Problem description / Motivation
We have an issue with some users running out of a limited disk space that we have inside the VMs (https://github.com/neondatabase/cloud/issues/13127).
The chosen solution for this issue is to give everyone a large disk, but limit the disk usage with an ext4 feature called "project quotas".
After we have this feature with the quotas, we can add new logic in the control plane to give users more disk based on the maxCU setting in their endpoint.
Feature idea(s) / DoD
DoD is to get the change from "Implementation ideas" rolled out to staging and production.
Implementation ideas
The
EmptyDiskSource
struct should get a new field calledEnableQuotas
, which enables support for project quotas in the filesystem. The corresponding yaml for the disk can look like this:Inside the VM, there should be a new script to control the quotas called
/neonvm/bin/set-disk-quota
. This script allows to set the quota for the specific filesystem: