Skip to content

chore(config): add stgGlobalV2.billingKusto{Name,Sku} to de-hardcode STG billing Kusto (AROSLSRE-1482)#6065

Merged
openshift-merge-bot[bot] merged 1 commit into
Azure:mainfrom
raelga:aroslsre-billing-kusto-stgglobalv2
Jul 14, 2026
Merged

chore(config): add stgGlobalV2.billingKusto{Name,Sku} to de-hardcode STG billing Kusto (AROSLSRE-1482)#6065
openshift-merge-bot[bot] merged 1 commit into
Azure:mainfrom
raelga:aroslsre-billing-kusto-stgglobalv2

Conversation

@raelga

@raelga raelga commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Fixes AROSLSRE-1482

What

Add dedicated stgGlobalV2.billingKustoName and stgGlobalV2.billingKustoSku config keys (empty-sentinel defaults; real values only for public/stg) plus their schema entries, and re-materialize.

# config.msft.clouds-overlay.yaml (stg only)
stgGlobalV2:
  billingKustoName: "arohcpHoBo{{ .ctx.environment }}"   # arohcpHoBostg
  billingKustoSku: "Standard_E8a_v4"

Why

The transient Billing.StgGlobal V2 bicepparam in sdp-pipelines currently hardcodes the billing Kusto cluster name and SKU as string literals. It has to, because billing.kusto.clusterName / billing.kusto.sku are shared configRefs also consumed by Billing.Global — which keeps managing the shared arohcpHoBoprod cluster for stg/uksouth during coexistence — so a cloud/env-scoped overlay override of those shared keys would also resize the shared cluster.

Introducing distinct stgGlobalV2.billingKusto* keys (a new key read only by the V2 param) lets the pipeline reference schema-validated, versioned config instead of literals, without touching the shared cluster. Standard_E8a_v4 is used because the shared Standard_E8ads_v5 is not offered in uksouth, where the dedicated cluster lives. These keys are removed with the rest of stgGlobalV2 at cutover (AROSLSRE-1202).

A follow-up sdp-pipelines PR will switch the bicepparam to {{ .stgGlobalV2.billingKustoName }} / {{ .stgGlobalV2.billingKustoSku }} once this merges and the pinned ARO-HCP revision is bumped. This replaces the literal-hardcoding approach in sdp-pipelines PR 16421393.

Testing

  • cd config && make materialize — rendered dev configs updated (empty-sentinel).
  • make verify-schema — passes.
  • templatize configuration render --cloud public --environment stg --region uksouth confirms stgGlobalV2.billingKustoName=arohcpHoBostg, billingKustoSku=Standard_E8a_v4.

Special notes for your reviewer

No behavior change on its own — these keys are inert until the follow-up sdp-pipelines PR consumes them, and only ever resolve to real values for public/stg. All other clouds/envs stay empty-sentinel.

…billing Kusto

The transient Billing.StgGlobal V2 bicepparam in sdp-pipelines hardcodes the
billing Kusto cluster name and SKU as literals, because the shared
billing.kusto.* configRefs are also consumed by Billing.Global (which manages
the shared cluster for stg/uksouth) and cannot be overridden per-env without
resizing the shared cluster.

Add dedicated stgGlobalV2.billingKustoName / billingKustoSku keys (empty-sentinel
defaults, real values only for public/stg) so the V2 bicepparam can reference
config instead of literals. SKU is Standard_E8a_v4 because the shared
Standard_E8ads_v5 is not offered in uksouth, where the dedicated cluster lives.
Removed with the rest of stgGlobalV2 at decommission (AROSLSRE-1202).
Copilot AI review requested due to automatic review settings July 14, 2026 07:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces two new configuration keys under stgGlobalV2billingKustoName and billingKustoSku—to let the STG “global V2” billing pipeline reference schema-validated config instead of hardcoded string literals, without impacting the shared billing.kusto.* settings during coexistence.

Changes:

  • Added stgGlobalV2.billingKustoName and stgGlobalV2.billingKustoSku defaults (empty-sentinel) and made them required in the config schema.
  • Set real values for these keys in the public/stg cloud overlay.
  • Re-materialized rendered dev configs to include the new keys (empty-sentinel in dev outputs).

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
config/config.yaml Adds stgGlobalV2.billingKustoName / billingKustoSku defaults (empty-sentinel).
config/config.schema.json Extends stgGlobalV2 schema with the two new string properties and marks them required.
config/config.msft.clouds-overlay.yaml Supplies real public/stg overlay values for the dedicated billing Kusto name/SKU.
config/rendered/dev/dev/westus3.yaml Materialized dev render includes new stgGlobalV2.billingKusto* keys (empty-sentinel).
config/rendered/dev/cspr/westus3.yaml Materialized dev render includes new stgGlobalV2.billingKusto* keys (empty-sentinel).
config/rendered/dev/perf/westus3.yaml Materialized dev render includes new stgGlobalV2.billingKusto* keys (empty-sentinel).
config/rendered/dev/pers/westus3.yaml Materialized dev render includes new stgGlobalV2.billingKusto* keys (empty-sentinel).
config/rendered/dev/ci00/centralus.yaml Materialized dev render includes new stgGlobalV2.billingKusto* keys (empty-sentinel).
config/rendered/dev/ci01/centralus.yaml Materialized dev render includes new stgGlobalV2.billingKusto* keys (empty-sentinel).

@raelga

raelga commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator Author

/test integration

Retesting: the failure is an environmental flake unrelated to this PR's change. This PR touches only config/config.yaml, config/config.msft.clouds-overlay.yaml, config/config.schema.json, and config/rendered/** — no Go code.

Job pull-ci-Azure-ARO-HCP-main-integration/2076929735786500096 failed with a panic during informer shutdown, in code this PR does not touch:

panic: ... github.com/Azure/ARO-HCP/internal/database/informers.(*ChangeFeedWatcher[...]).Stop
  internal/database/informers/changefeed_list_watch.go:460
  ...Run.func3()  changefeed_list_watch.go:332
DONE 354 tests, 2 failures in 297.229s

Scope check: ci/prow/integration is green on all other recent open PRs (#6064, #6063, #6060, #6059, #6058, #6057, #6055); it fails only here despite a config-only diff. This is a ChangeFeedWatcher.Stop shutdown race, not caused by the diff. Re-running.

@janboll janboll left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: janboll, raelga

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot Bot merged commit 47cfc93 into Azure:main Jul 14, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants