Red Hat Bugzilla – Bug 1465087
Service template provisioning request do not honour quotas
Last modified: 2017-10-23 20:16:35 EDT
New commit detected on ManageIQ/manageiq-content/fine:
Author: Greg McCullough <email@example.com>
AuthorDate: Wed Jun 21 15:07:27 2017 -0400
Commit: Satoe Imaishi <firstname.lastname@example.org>
CommitDate: Fri Aug 4 09:56:42 2017 -0400
Merge pull request #128 from billfitzgerald0120/requested_number_of_vms
Fixed quota calculations for multiple vms in requested method.
(cherry picked from commit 85dd4414d6d6c4a8bc3b726bac5625974c7caad3)
.../QuotaMethods.class/__methods__/requested.rb | 33 +++++++++++-----------
.../method_validation/calculate_requested_spec.rb | 18 ++++++++++++
2 files changed, 35 insertions(+), 16 deletions(-)
Wrong quota calculations for multiple vms when provision via services.
1.When you provision an instance Using: Lifecycle -> Provision instances with number of instances:25 flavor: m1.tiny the quota calculation message
shows "Request exceeds maximum allowed for the following: (storage - Used: 5 GB plus requested: 25 GB exceeds quota: 4 GB)
Note:number of instance count is considered in quota calculations.
2.When you provision using services catalogs with same number of instances:25 & flavor: m1.tiny the quota calculation message
shows "Request exceeds maximum allowed for the following: (storage - Used: 5 GB plus requested: 1 GB exceeds quota: 4 GB)
Note:No of instance is not considered in quota calculation as the requested shows only 1GB instead of 25GB.
Quota calculations when provisioning via services should be fixed.
My appliance for reference: https://10.8.197.134.
Created attachment 1322163 [details]
provisioning from lifecycle
Created attachment 1322164 [details]
Created attachment 1322190 [details]
service provisioning with user as quota source
Is is ok for me to use your appliance ?
Sure, you can use it.
If you look at https://bugzilla.redhat.com/show_bug.cgi?id=1488313, it will explain how to select a flavor (instance_type in your dialog). The error is coming because your dialog doesn't work. You can change your dialog to use a drop down list or the extra code in the BZ above.
This is not a bug.
Let me know if you have questions ...
I tried your appliance on Friday and today and I can't logon. Can you re-create?
I checked your appliance. If you want to select the flavor/instance, you will have to build a dynamic dialog. These values can't be text values. You will need to write a method that looks up the flavor and returns that value. I was looking around for a sample but couldn't find one for you.
Hope this helps ...
I found a sample dynamic method, modified your dialog and it works. I added a Billy domain with the method. Let me know if you have any questions.
I tried provisioning with your dynamic method on the same applaince.I am not getting `root_disk_size' error but it is still not honoring quotas. I selected m1.xlarge flavor while provisioning but did not get any quota exceeded msg.
Can you please check?
Also, Do we have to build the dynamic dialog for number of instances as well?.
You don't need a dynamic dialog for instances. I tried asking for 6 vms and it didn't work. I changed your dialog value for number_of_vms to option_0_number_of_vms and it works.
Can you try it now ?
Let me know how it works.
In the dialog you changed value for number_of_vms to option_0_number_of_vms. How are we suppose to know that it has to be prefix with option_0?. Do we have any documentation around that. Can you point me to that please?
Also I tried provisioning 7 vms and i get quota exceeded messages for user and group quota but when i tried provisioning by selecting a large flavor(ex. m1.xlarge) i do not get any quota exceed message for storage.
For reference please check request Id 16 on same appliance.
I found a good example here for dialogs.
There is something wrong with the dialog. Even when I select large or xlarge,
quota thinks it tiny. Not sure why but looking into this now.
Thanks for the link.Let me know if there is any further changes in the dialog.
The reported issue is when the number of vms specified in the catalog item is greater than 1.
The attached fix resolves this issue, but does not resolve the issue of the dialog override for the number of vms.
Could you test/validate this fix by modifying the catalog item number of vms and open a separate ticket for the dialog override of number of vms.
Let me know if you have any questions.
I created 3 new services with that don't use dialog overrides in your appliance.
openstack_tiny_1 - request 28
openstack_xlarge_1 - request 29
openstack_xlarge_3 - request 30
These are working properly.
Let me know if you have any questions.
Request shows quota error when number of vm's specified is more than 1 in dialog.
Verified in 184.108.40.206.20170824192913_b09a5f8 .
Dialog values for VM number is overridden correctly.
(In reply to William Fitzgerald from comment #22)
> The reported issue is when the number of vms specified in the catalog item
> is greater than 1.
> The attached fix resolves this issue, but does not resolve the issue of the
> dialog override for the number of vms.
> Could you test/validate this fix by modifying the catalog item number of vms
> and open a separate ticket for the dialog override of number of vms.
> Let me know if you have any questions.
I've opened new BZ for provisioning VMs using dialog
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.