-
Notifications
You must be signed in to change notification settings - Fork 1.3k
api,server,ui: granular resource limit management #8362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Introduces the concept of tagged resource limits. Limits can be enforced on accounts and domains for the deployment of entities for a tagged resource. Current tagged resource limits can be used for the following resource types,
Host limits
user_vm
cpu
memory
Storage limits
volume
primary_storage
Following global settings can used to specify tags for which limit needs to be enforced,
Host: resource.limit.host.tags
Storage: resource.limit.storage.tags
Option for specifying tagged resource limits and viewing tagged resource usage are made available in the UI.
Enhances use of templatetag for VM deployment and template creation
Adds option to list disk offering with suitability flag for a virtualmachine. A new parameter named virtualmachineid has been added to the listDiskOfferings API which when passed returns suitableforvirtualmachine param in the reponse.
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #8362 +/- ##
============================================
+ Coverage 30.76% 30.97% +0.20%
- Complexity 33076 33473 +397
============================================
Files 5353 5355 +2
Lines 374607 375708 +1101
Branches 54635 54908 +273
============================================
+ Hits 115238 116363 +1125
+ Misses 244099 243904 -195
- Partials 15270 15441 +171
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
@blueorangutan package |
|
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8075 |
|
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch. |
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
|
@blueorangutan package |
|
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8092 |
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
|
@blueorangutan package |
api/src/test/java/org/apache/cloudstack/api/command/user/template/UpdateTemplateCmdTest.java
Show resolved
Hide resolved
|
@blueorangutan package |
|
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
vishesh92
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clgtm
|
@shwstppr is this ready/can it go out of draft ? |
Waiting for @vladimirpetrov to finish some manual QA |
vladimirpetrov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM based on manual testing but let's wait for the final round of smoke tests before merging it. The following areas have been tested:
- Migrating tagged resources
- Global settings configuration
- List resources by tag
- Resource limits
- Template tags
|
[SF] Trillian test result (tid-9213)
|
harikrishna-patnala
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code LGTM
|
@JoaoJandre @GutoVeronezi , this has been reviewed by several and has gone through our QA procedure (manual and automated testing. Do you guys hace any concerns with merging this? |
@DaanHoogland, my concerns are regarding the structure of the proposal, as I mentioned here. Regarding the code itself, I did not have time to review 7,000+ lines of changes; therefore, I do not have an opinion on it. I am -0. |
|
@blueorangutan package |
|
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✖️ el7 ✔️ el8 ✔️ el9 ✖️ debian ✔️ suse15. SL-JID 8700 |
|
@blueorangutan package |
|
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8701 |
|
@blueorangutan test |
|
@shwstppr a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-9277)
|
|
Merging based on approvals, manual QA and smoke test results |
Feature spec: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Granular+Resource+Limit+Management Introduces the concept of tagged resource limits for granular resource limit management. Limits can be enforced on accounts and domains for the deployment of entities for a tagged resource. Current tagged resource limits can be used for the following resource types, Host limits - user_vm - cpu - memory Storage limits - volume - primary_storage Following global settings can used to specify tags for which limit needs to be enforced, Host: `resource.limit.host.tags` Storage: `resource.limit.storage.tags` Option for specifying tagged resource limits and viewing tagged resource usage are made available in the UI. Enhances the use of templatetag for VM deployment and template creation Adds option to list service/compute offerings that can be used with a given template. A new parameter named templateid has been added. Adds option to list disk offering with suitability flag for a virtual machine. A new parameter named virtualmachineid has been added to the listDiskOfferings API which when passed returns suitableforvirtualmachine param in the response.
* feature: tagged resource limits apache/cloudstack#8362 Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * missing Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * update template tag details Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * instance deploy Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * Update source/adminguide/usage.rst Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com> * Update source/adminguide/usage.rst Co-authored-by: Vishesh <vishesh92@gmail.com> --------- Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com> Co-authored-by: Vishesh <vishesh92@gmail.com>
* feature: tagged resource limits apache/cloudstack#8362 Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * missing Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * update template tag details Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * instance deploy Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * Update source/adminguide/usage.rst Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com> * Update source/adminguide/usage.rst Co-authored-by: Vishesh <vishesh92@gmail.com> --------- Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com> Co-authored-by: Vishesh <vishesh92@gmail.com>
* feature: tagged resource limits apache/cloudstack#8362 Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * missing Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * update template tag details Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * instance deploy Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> * Update source/adminguide/usage.rst Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com> * Update source/adminguide/usage.rst Co-authored-by: Vishesh <vishesh92@gmail.com> --------- Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com> Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com> Co-authored-by: Vishesh <vishesh92@gmail.com>
Description
Feature spec: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Granular+Resource+Limit+Management
Introduces the concept of tagged resource limits for granular resource limit management. Limits can be enforced on accounts and domains for the deployment of entities for a tagged resource. Current tagged resource limits can be used for the following resource types,
Host limits
- user_vm
- cpu
- memory
Storage limits
- volume
- primary_storage
Following global settings can used to specify tags for which limit needs to be enforced,
Option for specifying tagged resource limits and viewing tagged resource usage are made available in the UI.
Enhances the use of templatetag for VM deployment and template creation
Adds option to list service/compute offerings that can be used with a given template. A new parameter named
templateidhas been added.Adds option to list disk offering with suitability flag for a virtual machine. A new parameter named
virtualmachineidhas been added to the listDiskOfferings API which when passed returnssuitableforvirtualmachineparam in the response.ToDo: Schema changes to be moved in 4.20 upgrade path
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
How did you try to break this feature and the system with this change?