Skip to content

Quota UI rework - #13449

Merged
weizhouapache merged 19 commits into
apache:mainfrom
scclouds:quota-ui
Jul 13, 2026
Merged

Quota UI rework#13449
weizhouapache merged 19 commits into
apache:mainfrom
scclouds:quota-ui

Conversation

@winterhazel

@winterhazelwinterhazel commented Jun 18, 2026

Copy link
Copy Markdown
Member

Description

This PR is a rework of the Quota UI intended to expose the new functionality added in #9590, #10505, #10506, #12961, and #13236, as well as provide a better visualization of the Quota-related statistics.

With these changes, it is now possible to:

  • Visualize the Quota consumption of Accounts/Projects throughout multiple periods of time.
  • See which resources are responsible for the Quota consumption, and which tariffs were applied.
  • Visualize how the balance of an Account/Project changed throughout multiple periods of time.
  • Visualize the credits addition history of Accounts/Projects.

Additionally, some changes were made in quotaCredits and quotaCreditsList to allow adding credits to and obtaining the credits addition history for Projects, which has also been exposed in the UI. A new field was also added to the response of quotaStatement to allow seeing the consumption history as a line chart.

Closes#11805.

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Screenshots (if appropriate):

Screenshot from 2026-06-18 10-05-38Screenshot from 2026-06-18 10-05-43Screenshot from 2026-06-18 10-05-54Screenshot from 2026-06-18 10-06-00Screenshot from 2026-06-18 10-06-09
2026-06-18.10-02-25.mp4

How Has This Been Tested?

I manually tested these changes by accessing the summary (consumption, balance, and credits), tariff, and email template pages for admin, domain admin, users, and projects (when applicable) and validating that the expected contents were shown. The credits addition and listing was also tested.

@github-actions

Copy link
Copy Markdown

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

@codecov

codecovBot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 56.00000% with 77 lines in your changes missing coverage. Please review.
✅ Project coverage is 19.47%. Comparing base (33c3967) to head (820ac3e).
⚠️ Report is 27 commits behind head on main.

Files with missing linesPatch %Lines
...udstack/api/response/QuotaResponseBuilderImpl.java57.48%51 Missing and 3 partials ⚠️
...he/cloudstack/api/command/QuotaCreditsListCmd.java0.00%8 Missing ⚠️
...apache/cloudstack/api/command/QuotaCreditsCmd.java14.28%6 Missing ⚠️
...ache/cloudstack/quota/dao/QuotaCreditsDaoImpl.java0.00%4 Missing ⚠️
...i/response/QuotaStatementItemResourceResponse.java0.00%3 Missing ⚠️
...pi/response/QuotaStatementItemHistoryResponse.java95.45%0 Missing and 1 partial ⚠️
...c/main/java/com/cloud/user/AccountManagerImpl.java0.00%1 Missing ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #13449 +/- ##
===========================================
Coverage 19.46% 19.47% - Complexity 19237 19361 +124 
===========================================
Files 6288 6301 +13 Lines 565692 568775 +3083 Branches 69079 69668 +589 ===========================================
+ Hits 110132 110753 +621 - Misses 443595 445943 +2348 - Partials 11965 12079 +114 
FlagCoverage Δ
uitests3.42% <ø> (-0.05%)⬇️
unittests20.74% <56.00%> (+0.01%)⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@weizhouapache

Copy link
Copy Markdown
Member

@winterhazel
is this in progress ?

@winterhazel

Copy link
Copy Markdown
MemberAuthor

@winterhazel is this in progress ?

@weizhouapache it is ready.

@winterhazel
winterhazel marked this pull request as ready for review June 30, 2026 13:47
@winterhazel

Copy link
Copy Markdown
MemberAuthor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@winterhazel a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 18419

@winterhazel

Copy link
Copy Markdown
MemberAuthor

@blueorangutan ui

@blueorangutan

Copy link
Copy Markdown

@winterhazel a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

UI build: ✔️
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/13449 (QA-JID-957)

@github-actions

Copy link
Copy Markdown

This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch.

@winterhazel

Copy link
Copy Markdown
MemberAuthor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@winterhazel a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 18519

Comment threadui/src/views/plugins/quota/QuotaCreditTab.vue

@erikbockserikbocks 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.

CLGTM

@winterhazel

Copy link
Copy Markdown
MemberAuthor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@winterhazel a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 18536

@bernardodemarco

Copy link
Copy Markdown
Member

lgtm, based on the following manual tests and on multiple rounds of code review:

  • Verified Quota consumption graphics:

    Detailsimageimageimageimageimage
  • Verified Quota balance graphics:

    Detailsimage
  • Verified credits graphics:

    DetailsImage
  • Verified the download of Quota reports as CSV files

  • Verified the bug fix for email templates

  • Verified the addition of credits


@winterhazel, awesome work!

@bernardodemarco

Copy link
Copy Markdown
Member

@weizhouapache@nvazquez@shwstppr@DaanHoogland can we run the CI here, please?

@weizhouapache

Copy link
Copy Markdown
Member

@blueorangutan test

@blueorangutan

Copy link
Copy Markdown

@weizhouapache a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-16538)
Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 54487 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr13449-t16538-kvm-ol8.zip
Smoke tests completed. 153 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

TestResultTime (s)Test File
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACLFailure274.63test_vpc_redundant.py

@weizhouapache
weizhouapache merged commit f2a1f83 into apache:mainJul 13, 2026
25 of 27 checks passed
@weizhouapache

Copy link
Copy Markdown
Member

merging based on approvals and manua tests

Sign up for freeto 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.

Quota Plugin UI issue

6 participants

@winterhazel@weizhouapache@blueorangutan@bernardodemarco@erikbocks