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

Open
#113 4 comments 0 reactions 1 assignee Claimed by @fmichaelobrien View on GitHub
documentation enhancement Landing Zone
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
Screen Shot 2022-09-10 at 11 33 43 PM

**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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.