feat(rds): enable RDS storage autoscaling (MaxAllocatedStorage) (#540) - #562
Open
wz-gsa wants to merge 1 commit into
Open
feat(rds): enable RDS storage autoscaling (MaxAllocatedStorage) (#540)#562wz-gsa wants to merge 1 commit into
wz-gsa wants to merge 1 commit into
Conversation
Add storage-autoscaling support so RDS grows storage automatically up to a configured cap when free space runs low, avoiding out-of-space outages and manual storage bumps. Engine-agnostic; enabled on the Oracle plan now (before any customers land) so the plan needs no later migration. - catalog RDSPlan gains `maxAllocatedStorage` (yaml); oracle-se2 plan sets starting 20 GB + max 100 GB. - Options gains `max_storage` (-c JSON) so a customer can raise the ceiling per instance; Validate() bounds it: must be <= the platform MaxAllocatedStorage and, when both supplied, > storage (RDS requires Max > Allocated). - RDSInstance carries MaxAllocatedStorage; init() takes option-over-plan, modify() takes option-over-existing and never silently disables an enabled policy (0 = leave unchanged). - create/modify workers set MaxAllocatedStorage on the RDS input only when it exceeds the allocation; otherwise omit (autoscaling off). - Tests: create/modify prepare-input (enabled + omitted cases), Options.Validate (over-platform-max rejected, max<=storage rejected, valid accepted). Docs updated. No RDS client interface change. Cost note: autoscaling growth is passed through as cloud.gov credits (documented). Closes #540.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds RDS storage autoscaling so storage grows automatically up to a configured cap when free space runs low — avoiding out-of-space outages and manual
cf update-service -c '{"storage":…}'bumps. Engine-agnostic; enabled on the Oracle plan now (before any customers land) so the plan needs no later migration (per @cweibel's #537 review comment).Changes
RDSPlan.maxAllocatedStorage(yaml);oracle-se2-license-included-devsets 20 GB start / 100 GB max.max_storage(-cJSON) lets a customer raise the per-instance ceiling.Validate()bounds it: must be≤the platformMaxAllocatedStorageand, when both supplied,> storage(RDS requires Max > Allocated).MaxAllocatedStorage;init()= option-over-plan;modify()= option-over-existing and never silently disables an already-enabled policy (0 = leave unchanged).MaxAllocatedStorageon the RDS input only when it exceeds the allocation; otherwise omit (autoscaling off).Testing
prepareCreateDbInput/prepareModifyDbInstanceInput: enabled (max > allocated) + omitted (max == allocated) cases.Options.Validate: over-platform-max rejected, max ≤ storage rejected, valid accepted.go test ./...,go vet, gofmt, golangci-lint (fresh cache) all green. No RDS client interface change.docs/oracle19c/README.md).Notes
Autoscaling growth is passed through as cloud.gov credits (documented). SE2 GovCloud autoscaling support should be empirically reconfirmed during the WS15 live proof (#558), but the API/plumbing is standard RDS shared with pg/mysql.
Base is the Oracle integration branch
feat/oracle-19c-stig-brokered-rds(per the branching strategy — notmain).Closes #540.