GoogleCloudPlatform / GoogleCloudPlatform/pubsec-declarative-toolkit
[ENHANCEMENT] avoid billing quota failure when deploying new (CC or Solution) Projects - for default/new organizations that have the quota of 5 per billing id - optionally add 1:1 billing/project KPT config
- Dominant language
- Shell
- Stars
- 36
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the bug**
Either the CC bootstrap or more likely the solution deployment fails on project creation because of the default 5 billing/project association quota on new organizations.
This occurs for all new accounts that have not specifically asked for a quota increase - usually 2 min with billing history and up to 2 days with a $50 deposit for new organizations.
Procedure workaround is detailed at https://github.com/GoogleCloudPlatform/pbmm-on-gcp-onboarding/blob/main/docs/google-cloud-onboarding.md#quota-increase
* Fill out the billing quota increase from the default 5 directly via https://support.google.com/code/contact/billing_quota_increase
* Fill out the project quota increase from the default 20 directly via https://support.google.com/code/contact/project_quota_increase
**To Reproduce**
Steps to reproduce the behavior:
Deploy the CC or the landing-zone solution if you have not asked for increased billling/project quota
```
root_@cloudshell:~ (pubsec-declarative-tk-agz)$ arete create landing-zone-controller --region=northamerica-northeast1
5:55PM INF Project name will be set to: landing-zone-controller-3dy12
✔ My Billing Account - 011BCB-037F97-C9169E
✔ alternate.gcp.zone - 6839210352
✔ Folder Level
✔ pdt - 85066258830
5:56PM INF Create in progress for [https://cloudresourcemanager.googleapis.com/v1/projects/landing-zone-controller-3dy12].Waiting for [operations/cp.6843614771710427017] to finish.....done.Enabling service [[cloudapis.googleapis.com](http://cloudapis.googleapis.com/)] on project [landing-zone-controller-3dy12]...Operation "operations/acat.p2-755016227548-cf4437fa-1a07-415f-87e0-683eb742617c" finished successfully.Updated property [core/project] to [landing-zone-controller-3dy12].
5:56PM FTL Unable to assign billing account to project: error="ERROR: (gcloud.beta.billing.projects.link) FAILED_PRECONDITION: Precondition check failed.\n- '@type': [type.googleapis.com/google.rpc.QuotaFailure\n](http://type.googleapis.com/google.rpc.QuotaFailure%5Cn) violations:\n - description: 'Cloud billing quota exceeded: https://support.google.com/code/contact/billing_quota_increase'\n subject: billingAccounts/011BCB-037F97-C9169E\nexit status 1"
```
not a problem specific to the kcc lz - but this will occur for all new accounts (in particular dev accounts)
**Expected behavior**
**Screenshots**
see projects beyond the 5

**Additional context**
Mitigation is detailed in https://github.com/GoogleCloudPlatform/pbmm-on-gcp-onboarding/blob/main/docs/google-cloud-onboarding.md#quota-increase
Possible fix would be to allow for a billing ID per project (where we can add the super admin for the org to N other billing accounts as a billing account administrator - we then get 5 billing quotas per billing id
**Actions**
- add readme prereq documentation and link to the workaround wiki
- optionally adjust the landing-zone to allow for 1:1 billing/project KPT config
Contributor guide
Assessment
This issue has not been assessed yet.