Add support for global OpenZFS quotas on user home directories
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 7
- Forks
- 2
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 3
Description
Summary
Add support for configuring global quotas on Amazon FSx for OpenZFS user home directories to limit storage consumption per user. This feature was requested by a customer to prevent individual users from consuming excessive storage space.
Background
Currently, the PTD infrastructure creates FSx for OpenZFS file systems without setting quotas on user home directories. This means users can consume unlimited storage, potentially affecting cost and performance for the entire deployment.
Proposed Solution
Implement support for OpenZFS native quota features in the PTD infrastructure code:
- Add a configurable parameter for global user home directory quota (e.g.,
user_home_quota_gb) - Modify the FSx OpenZFS provisioning logic in
python-pulumi/src/ptd/pulumi_resources/aws_fsx_openzfs_multi.pyto create child volumes with quota configurations - Ensure quotas are applied when user home directories are created
Implementation Details
- Component: PTD Infrastructure (Python Pulumi)
- Primary files:
python-pulumi/src/ptd/pulumi_resources/aws_fsx_openzfs_multi.py- Related configuration in workload setup
- Quota mechanism: OpenZFS native
quotaproperty on volumes/datasets - Scope: Global quota applied uniformly to all user home directories
Acceptance Criteria
- Configuration parameter added for specifying global user home quota
- User home directories are created as OpenZFS volumes with quota property set
- Quota is enforced by OpenZFS filesystem
- Documentation updated with quota configuration instructions
- Tested on at least one staging environment
References
- OpenZFS quota documentation: https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#quota
- AWS FSx for OpenZFS: https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html
Priority
Medium - Enhancement requested by a customer
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading python-pulumi/src/ptd/pulumi_resources/aws_fsx_openzfs_multi.py and tracing the related workload setup configuration. Use the OpenZFS quota and AWS FSx references to understand the requested volume behavior, then validate the configuration and enforcement in a staging environment. Done means global user-home quota configuration, documentation, and staging verification are present.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100