Skip to content

OSAC-3149: PRD: Metering for Network Bandwidth - #160

Merged
openshift-merge-bot[bot] merged 4 commits into
osac-project:mainfrom
masayag:prd/OSAC-3149
Jul 26, 2026
Merged

openshift-merge-bot[bot] merged 4 commits into
osac-project:mainfrom
masayag:prd/OSAC-3149

Conversation

@masayag

@masayag masayag commented Jul 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add PRD for network bandwidth metering (Part 2d of the Metering Part 2 family)
  • Covers per-tenant ingress/egress GiB transferred
  • Consumption-based metering model dependent on networking vendor integration for traffic counters

Jira

Related PRDs

Assisted-by: Claude Code noreply@anthropic.com

Summary by CodeRabbit

  • Documentation
    • Added product requirements for network bandwidth metering and usage tracking.
    • Defined ingress and egress measurement in GiB per tenant, including calculation and historical usage requirements.
    • Documented user stories, acceptance criteria, scope boundaries, assumptions, dependencies, risks, and open questions.

Add PRD for network bandwidth metering covering per-tenant
ingress/egress GiB transferred with consumption-based metering
model dependent on networking vendor integration.

Assisted-by: Claude Code <noreply@anthropic.com>
Co-Authored-By: Moti Asayag <masayag@redhat.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Moti Asayag <masayag@redhat.com>
@openshift-ci-robot

openshift-ci-robot commented Jul 26, 2026 •

Copy link
Copy Markdown

@masayag: This pull request references OSAC-3149 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the feature to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Add PRD for network bandwidth metering (Part 2d of the Metering Part 2 family)
  • Covers per-tenant ingress/egress GiB transferred
  • Consumption-based metering model dependent on networking vendor integration for traffic counters

Jira

Related PRDs

Assisted-by: Claude Code noreply@anthropic.com

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented Jul 26, 2026 •

Copy link
Copy Markdown

Review Change Stack

Walkthrough

Changes

Network bandwidth metering

Layer / File(s) Summary
Scope and stakeholder requirements
enhancements/OSAC-3149-metering-bandwidth/prd.md
Defines bandwidth metering terminology, scope boundaries, and user stories for provider, infrastructure, tenant administrator, and tenant users.
Usage model and acceptance criteria
enhancements/OSAC-3149-metering-bandwidth/prd.md
Specifies tenant ingress and egress GiB metrics, query dimensions, accumulation rules, and historical-data acceptance criteria.
Assumptions, dependencies, and follow-up
enhancements/OSAC-3149-metering-bandwidth/prd.md
Documents Part 1 and vendor integration dependencies, assumptions, risks, open questions, and related metering PRDs.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Suggested reviewers: larsks, eranco74, avishayt

🚥 Pre-merge checks | ✅ 10 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Ai-Attribution ⚠️ Warning AI usage is attributed with Assisted-by, but several commits also include Co-Authored-By: Claude <noreply@anthropic.com>, which this check forbids. Replace AI Co-Authored-By trailers with Red Hat-supported Assisted-by or Generated-by trailers, then amend the commits.
✅ Passed checks (10 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding a PRD for network bandwidth metering.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
No-Hardcoded-Secrets ✅ Passed The PR only adds/edits a PRD markdown file and contains no API keys, tokens, passwords, private keys, embedded-credential URLs, or secret-like literals.
No-Weak-Crypto ✅ Passed The PR only adds a PRD markdown file; it contains no weak-crypto algorithms, custom crypto, or secret comparisons.
No-Injection-Vectors ✅ Passed Only changed file is a markdown PRD; no executable code or unsafe sinks (eval, shell, pickle, yaml.load, dangerouslySetInnerHTML) were present.
Container-Privileges ✅ Passed Only a PRD markdown file changed; no container/K8s manifests or privilege settings were added.
No-Sensitive-Data-In-Logs ✅ Passed The PRD adds no code or log output, and a scan found no passwords/tokens/PII in the changed document.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

AI EP Review: EP-160

Score: 10/10 | Verdict: PASS

Criterion Score Notes
WHAT (clear need) 2/2 Clear product capability: per-tenant network bandwidth metering (ingress/egress). Four personas (Cloud Provider Admin, Cloud Infrastructure Admin, Tenant Admin, Tenant User) each have dedicated user stories describing what they can do. Services implicitly identified via networking scope. Minor gap: UI dimension not addressed — PRD says users can 'view' bandwidth usage but doesn't state whether console views are in scope, API/CLI-only, or deferred.
WHY (justification) 2/2 Concrete justification: names real infrastructure costs (transit fees, peering costs, upstream bandwidth), describes the consequence (Cloud Provider Admins cannot apply data transfer pricing, Tenant Admins have no visibility into traffic sources), and ties to adoption impact. Evidence is specific and distributed across the problem statement.
User-Facing Focus 2/2 No controllers, reconcilers, playbooks, finalizers, or internal conditions named. Vendor mentions (Netris, OVN-Kubernetes) are platform vocabulary per the rubric. The CIA story's 'integrating the networking vendor's traffic data source' is at the system boundary and reflects a real admin activity, not internal system architecture. CAP-3's deduplication/retention reference is mild — describes requirements that carry forward, not implementation mechanics.
Right-Sized 2/2 Tightly scoped to one meter type: network bandwidth (ingress/egress). Two capabilities (metering and querying) are inseparable — metering without querying is useless, querying without metering is impossible. Clear out-of-scope items with Jira cross-references. Well-structured as part of the Metering Part 2 family.
Testability 2/2 Acceptance criteria are PM/QA-verifiable: generate network traffic, then query bandwidth data to verify per-tenant per-direction breakdown in GiB, time-period filtering, and project-level breakdown when supported. AC #3 (additive deployment) is verifiable via deployment. AC #4 references Part 1 criteria by name rather than restating them, which is reasonable for a family of related PRDs.

Verdict: A strong, tightly-scoped PRD that clearly describes network bandwidth metering as a user-facing capability, with concrete business justification, four well-differentiated persona stories, and testable acceptance criteria — minor gaps are limited to the UI dimension not being addressed.

Feedback: State whether UI console views for bandwidth data are in scope, API/CLI-only, or deferred to a later milestone — the PRD says users can 'view' bandwidth but doesn't specify through which surface, and osac-dimensions.md requires this declaration. Consider restating the specific Part 1 cross-cutting acceptance criteria in AC #4 rather than referencing them by name, so a tester can verify bandwidth meters without reading the Part 1 PRD.

Critical (0)

None.

Important (1)

  1. UI dimension unaddressed: The PRD says users can 'view' bandwidth usage (user stories for all four personas) but never states whether console views are in scope, API/CLI-only, or deferred. Per osac-dimensions.md, this should be explicitly declared.

Suggestions (2)

  1. AC Create bare metal fulfillment proposal #4 ('All Part 1 cross-cutting acceptance criteria apply') references Part 1 by name without restating the specific criteria. Restating them (deduplication, retention policy, independent deployment) would make the PRD self-contained for testers.
  2. The Cloud Infrastructure Admin user story could be more user-focused: 'I want to enable bandwidth metering by integrating the networking vendor's traffic data source' describes an integration activity — consider rephrasing to emphasize the observable outcome (e.g., 'I want to enable bandwidth metering so that per-tenant traffic data is captured and reported').

Review cost

Model: claude-opus-4-6
Cost: $0.3658
Tokens: 6 in / 6.3k out
Cache: 199.2k read
Active time: 2m 17s
API calls: 0

@github-actions github-actions Bot added the rfe-creator-auto-reviewed EP was reviewed by AI label Jul 26, 2026

OSAC provides usage data. The provider applies their own price schedule to generate charges. This section defines the metering units and formulas for bandwidth, extending the charge calculation model from [Part 1](/enhancements/metering-and-usage-tracking/prd.md).

Bandwidth is a consumption meter. Unlike the resource-based allocation meters in sibling PRDs, it is driven by traffic volume rather than time.

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.

I guess it's similar to MaaS (token volume)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, exactly — bandwidth is a consumption meter driven by volume (GiB transferred) rather than time, similar to how MaaS meters token counts. The sibling PRDs (BMaaS, Storage, Networking resources) use allocation meters tied to resource existence duration.

### 10.1 Bandwidth data source unidentified

- **Owner:** OSAC platform team / Networking team
- **Mitigation:** No networking vendor has been selected to provide per-tenant ingress/egress traffic counters. Without a data source, bandwidth metering cannot be implemented. Engage Netris and OVN-Kubernetes teams during design to evaluate options. Bandwidth metering may ship after other Part 2 meters if the vendor integration is not ready.

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.

What does "No networking vendor has been selected to provide per-tenant ingress/egress traffic counters" mean?
Do they not support these counters?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good question — the wording was ambiguous. The risk is not that no vendor has been selected, but that it has not been confirmed whether the vendors already integrated with OSAC (Netris, OVN-Kubernetes) expose per-tenant traffic counter APIs that OSAC can consume for metering. Updated Risk 10.1 in the latest push to clarify this.

masayag and others added 2 commits July 26, 2026 14:33
Apply the same terminology cleanup as sibling metering PRDs: fix
broken Part 1 links to OSAC-985 renamed path, replace pricing/costing
language with metering equivalents, rename "Charge Calculation Model"
to "Usage Calculation Model" with pure accumulation rules (no dollar
amounts), inline Part 1 cross-cutting ACs, and add UI out-of-scope
statement consistent with other metering PRDs.

Assisted-by: Claude Code <noreply@anthropic.com>
Co-Authored-By: Moti Asayag <masayag@redhat.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Moti Asayag <masayag@redhat.com>
Clarify Risk 10.1 per avishayt's review comment: the risk is not
that no vendor has been selected, but that it has not been confirmed
whether the vendors already integrated with OSAC (Netris,
OVN-Kubernetes) expose per-tenant traffic counter APIs that OSAC
can consume for metering.

Assisted-by: Claude Code <noreply@anthropic.com>
Co-Authored-By: Moti Asayag <masayag@redhat.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Moti Asayag <masayag@redhat.com>
@github-actions

github-actions Bot commented Jul 26, 2026 •

Copy link
Copy Markdown

AI EP Review: EP-160

Score: 8/10 | Verdict: PASS

Criterion Score Notes
WHAT (clear need) 2/2 Clear capability: per-tenant network bandwidth metering (ingress/egress GiB). Four personas identified (Cloud Provider Admin, Cloud Infrastructure Admin, Tenant Admin, Tenant User) each with a concrete 'As a...' user story. Services and cross-cutting dimensions appropriately scoped. Out-of-scope items cleanly delineated from sibling Part 2 PRDs.
WHY (justification) 2/2 Concrete justification in Problem Statement: names finite resources (transit links, peering connections, upstream bandwidth), states the consequence (no usage data for providers, no visibility for tenants into traffic sources), and ties to the broader metering initiative. Causal chain is clear: no bandwidth tracking means no accounting for consumed resources.
User-Facing Focus 1/2 No controllers, reconcilers, playbooks, or internal conditions named — the PRD avoids the worst design leakage patterns. However, mild leakage appears across several sections: CAP-1 prescribes the data source ('provided by the networking vendor integration'), CAP-3 is a deployment constraint ('additive to Part 1 metering deployment and require no separate infrastructure'), and acceptance criteria include internal concerns (deduplication of metering events, raw event retention windows, deployment
Right-Sized 2/2 Tightly focused on a single coherent capability: network bandwidth metering. Metering without querying is useless; querying without metering is impossible. The PRD cleanly separates from sibling Part 2 PRDs (BMaaS, storage, networking resources) and explicitly defers billing, quota enforcement, and UI to other work items.
Testability 1/2 User stories are verifiable (query bandwidth usage by tenant, direction, time period). CAP-1 and CAP-2 are PM-testable. However, three acceptance criteria describe internal behavior that a PM cannot verify by using the product: 'Duplicate bandwidth metering events do not cause double-counting' (requires sending duplicate events into the pipeline), 'Bandwidth raw events are retained for at least 7 days; aggregated data is retained for at least 13 months' (internal storage policy), and 'Bandwidth

Verdict: A well-structured, focused PRD for network bandwidth metering with clear personas and business justification, held back slightly by mild design leakage in capabilities/acceptance criteria and a few internal-facing acceptance criteria that a PM couldn't verify by using the product.

Feedback: Rewrite CAP-3 as a user-observable outcome (e.g., 'Bandwidth metering is available without requiring changes to existing tenant or cluster workflows') and move deployment details to assumptions. Reframe the deduplication and retention acceptance criteria as user-observable accuracy and availability requirements (e.g., 'Bandwidth usage totals are accurate — querying the same period twice returns consistent results' and 'Historical bandwidth data is available for at least 13 months'). Replace the 'deployment is independent of provisioning workflows' criterion with a scenario a PM could actually run.

Critical (0)

None.

Important (2)

  1. CAP-3 ('Bandwidth meters are additive to the Part 1 metering deployment and require no separate infrastructure') is a deployment constraint, not a user-observable capability. A PM cannot verify this by using the product. Rewrite as a user-facing outcome or move to Assumptions/Dependencies.
  2. Three acceptance criteria are internal engineering concerns not verifiable by a PM: deduplication ('Duplicate bandwidth metering events do not cause double-counting'), retention windows ('raw events retained for at least 7 days; aggregated data for at least 13 months'), and deployment independence. Reframe these as user-observable accuracy, availability, and workflow-independence requirements.

Suggestions (2)

  1. Add acceptance criteria that map directly to the user stories — e.g., 'A Cloud Provider Admin can query total ingress and egress bandwidth for any tenant over a specified time period' and 'A Tenant User can view bandwidth usage broken down by project when vendor data supports project attribution.'
  2. CAP-1's 'The data source for traffic counters is provided by the networking vendor integration' describes an integration mechanism rather than a user outcome. Consider stating what users observe ('bandwidth is tracked automatically') and moving the vendor data source detail to Assumptions or Dependencies, where it is already partially covered.

Review cost

Model: claude-opus-4-6
Cost: $0.5934
Tokens: 6 in / 5.4k out
Cache: 155.0k read
Active time: 2m 3s
API calls: 0

…tcomes

Address AI review feedback: rewrite CAP-3 from deployment constraint to
user-observable outcome, replace internal acceptance criteria (deduplication,
retention windows, deployment independence) with PM-verifiable criteria,
and move deployment detail to Assumptions.

Assisted-by: Claude Code <noreply@anthropic.com>
Co-Authored-By: Moti Asayag <masayag@redhat.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Moti Asayag <masayag@redhat.com>
@github-actions

github-actions Bot commented Jul 26, 2026 •

Copy link
Copy Markdown

AI EP Review: EP-160

Score: 10/10 | Verdict: PASS

Criterion Score Notes
WHAT (clear need) 2/2 Clear new capability: per-tenant network bandwidth metering (ingress/egress GiB). All four OSAC personas (Cloud Provider Admin, Cloud Infrastructure Admin, Tenant Admin, Tenant User) are identified with dedicated user stories under persona headings. Services (networking/metering) and cross-cutting dimensions addressed. Each persona has a specific, distinct use case.
WHY (justification) 2/2 Concrete justification: names the pain (no visibility into bandwidth consumption), describes finite resources at stake (transit links, peering connections, upstream bandwidth), and identifies consequences for both provider admins (no accounting data) and tenant admins (no visibility into traffic sources). Ties to capacity planning and data transfer accounting.
User-Facing Focus 2/2 No design leakage. No controllers, reconcilers, finalizers, playbook parameters, or internal conditions are named. References to Netris and OVN-Kubernetes are platform vocabulary per the rubric. CAP-1's mention of 'networking vendor integration' as a data source constraint is a product-level dependency, not an implementation prescription. All capabilities describe user-observable outcomes.
Right-Sized 2/2 Tightly focused on bandwidth metering only. Explicitly separates from BMaaS metering (Part 2a), storage metering (Part 2b), networking resource metering (Part 2c), and billing/quota enforcement. The three capabilities (metering, queryability, non-disruption) are interdependent — you cannot ship queryability without metering, and non-disruption is a constraint on both.
Testability 2/2 All five acceptance criteria are verifiable by a PM or QA engineer: (1) per-tenant GiB recorded by direction, (2) queryable by tenant/direction/time with conditional project breakdown, (3) no disruption to existing workflows, (4) consistent results on repeated queries, (5) 13-month data retention. Each can be tested by generating traffic and querying the metering system.

Verdict: Strong PRD with clear user-facing capabilities, concrete justification, focused scope, and testable acceptance criteria across all four OSAC personas.

Feedback: Minor polish opportunities: user stories use 'view' while UI is explicitly out of scope — consider clarifying the access channel (e.g., 'query via API' or 'access through the billing system's usage views') to avoid ambiguity about what this PRD delivers vs. what the billing system provides. The Cloud Infrastructure Admin story ('integrating the networking vendor's traffic data source') is mildly implementation-flavored — a cleaner phrasing might be 'configure bandwidth metering for the platform.' Consider adding metering granularity expectations (sampling interval or counter resolution) to the acceptance criteria.

Critical (0)

None.

Important (1)

  1. User stories promise users can 'view' bandwidth usage, but 'UI for viewing bandwidth usage' is explicitly out of scope. The out-of-scope note clarifies data flows through the billing system, and CAP-2 says usage is 'queryable,' but the user stories could be more precise about the access channel (API query vs. billing system view) to avoid misalignment between stories and deliverables.

Suggestions (3)

  1. Cloud Infrastructure Admin user story ('enable bandwidth metering by integrating the networking vendor's traffic data source') is slightly implementation-flavored — consider rephrasing to focus on the admin action ('configure bandwidth metering for the platform') rather than the integration mechanism.
  2. Consider adding a metering granularity or counter resolution expectation (e.g., 'bandwidth counters are updated at least every N minutes') to the acceptance criteria — this helps QA know what precision to expect when verifying accuracy.
  3. Acceptance criterion 'bandwidth usage totals are accurate' could be more specific — consider defining accuracy relative to a baseline (e.g., 'within X% of vendor-reported counters') to make verification unambiguous.

Review cost

Model: claude-opus-4-6
Cost: $0.5211
Tokens: 5 in / 4.8k out
Cache: 96.2k read
Active time: 1m 37s
API calls: 0

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@enhancements/OSAC-3149-metering-bandwidth/prd.md`:
- Around line 81-82: Add an explicit acceptance criterion to the bandwidth usage
requirements stating that tenant-admin and tenant-user consumers can access only
their own tenant’s data and cannot view another tenant’s bandwidth usage, while
preserving provider-wide visibility for authorized provider consumers.
- Around line 81-85: Update the bandwidth metering acceptance criteria near the
existing accuracy and historical-data items to explicitly require vendor-counter
accuracy, no measurement gaps during upgrades, and no double-counting of
duplicate events. Replace the fixed 13-month retention wording with configurable
retention whose minimum supported duration is 13 months, while preserving the
existing repeatability and provisioning-workflow criteria.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: osac-project/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: dcd1c0cb-25ea-40bc-8040-d6ab703ed1fd

📥 Commits

Reviewing files that changed from the base of the PR and between 4e8ad80 and 20c2603.

📒 Files selected for processing (1)
  • enhancements/OSAC-3149-metering-bandwidth/prd.md

Comment on lines +81 to +82
- [ ] Bandwidth usage is recorded per tenant as GiB transferred, broken down by direction (ingress/egress)
- [ ] Bandwidth usage can be broken down by tenant, direction, and time period; project-level breakdown is available when the vendor data source supports project attribution

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Specify tenant isolation as an acceptance outcome.

The user stories distinguish provider-wide visibility from tenant-admin and tenant-user visibility, but these criteria do not require tenant-scoped consumers to be prevented from viewing another tenant’s bandwidth data. Add an explicit authorization/isolation outcome.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@enhancements/OSAC-3149-metering-bandwidth/prd.md` around lines 81 - 82, Add
an explicit acceptance criterion to the bandwidth usage requirements stating
that tenant-admin and tenant-user consumers can access only their own tenant’s
data and cannot view another tenant’s bandwidth usage, while preserving
provider-wide visibility for authorized provider consumers.

Comment on lines +81 to +85
- [ ] Bandwidth usage is recorded per tenant as GiB transferred, broken down by direction (ingress/egress)
- [ ] Bandwidth usage can be broken down by tenant, direction, and time period; project-level breakdown is available when the vendor data source supports project attribution
- [ ] Enabling bandwidth metering does not disrupt existing tenant or cluster provisioning workflows
- [ ] Bandwidth usage totals are accurate — querying the same period twice returns consistent results
- [ ] Historical bandwidth data is available for at least 13 months

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Carry the Part 1 data-integrity guarantees into acceptance criteria.

“Querying the same period twice returns consistent results” proves repeatability, not accuracy, and does not verify CAP-15/CAP-16. The criteria also omit that retention must be configurable.

Add outcome-focused criteria covering vendor-counter accuracy, no measurement gaps during upgrades, no double-counting from duplicate events, and configurable retention of at least 13 months.

Proposed acceptance-criteria update
- [ ] Bandwidth usage totals are accurate — querying the same period twice returns consistent results
- [ ] Historical bandwidth data is available for at least 13 months
+ [ ] Bandwidth usage totals accurately reflect the vendor-provided traffic counters, and repeated queries for the same period return consistent results
+ [ ] Upgrades do not lose collected bandwidth data or create gaps for ongoing workloads
+ [ ] Duplicate traffic events do not double-count bandwidth usage
+ [ ] Historical bandwidth data is retained for at least 13 months, with a configurable retention period
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- [ ] Bandwidth usage is recorded per tenant as GiB transferred, broken down by direction (ingress/egress)
- [ ] Bandwidth usage can be broken down by tenant, direction, and time period; project-level breakdown is available when the vendor data source supports project attribution
- [ ] Enabling bandwidth metering does not disrupt existing tenant or cluster provisioning workflows
- [ ] Bandwidth usage totals are accurate — querying the same period twice returns consistent results
- [ ] Historical bandwidth data is available for at least 13 months
- [ ] Bandwidth usage is recorded per tenant as GiB transferred, broken down by direction (ingress/egress)
- [ ] Bandwidth usage can be broken down by tenant, direction, and time period; project-level breakdown is available when the vendor data source supports project attribution
- [ ] Enabling bandwidth metering does not disrupt existing tenant or cluster provisioning workflows
- [ ] Bandwidth usage totals accurately reflect the vendor-provided traffic counters, and repeated queries for the same period return consistent results
- [ ] Upgrades do not lose collected bandwidth data or create gaps for ongoing workloads
- [ ] Duplicate traffic events do not double-count bandwidth usage
- [ ] Historical bandwidth data is retained for at least 13 months, with a configurable retention period
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@enhancements/OSAC-3149-metering-bandwidth/prd.md` around lines 81 - 85,
Update the bandwidth metering acceptance criteria near the existing accuracy and
historical-data items to explicitly require vendor-counter accuracy, no
measurement gaps during upgrades, and no double-counting of duplicate events.
Replace the fixed 13-month retention wording with configurable retention whose
minimum supported duration is 13 months, while preserving the existing
repeatability and provisioning-workflow criteria.

Source: Learnings

@openshift-ci

openshift-ci Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: avishayt, masayag

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 b82a705 into osac-project:main Jul 26, 2026
5 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