Bug 1363901
| Summary: | Quota check causes errors for service provisioning when using Ansible Tower service types | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat CloudForms Management Engine | Reporter: | Jerome Marc <jmarc> | ||||
| Component: | Automate | Assignee: | Tina Fitzgerald <tfitzger> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Ganesh Hubale <ghubale> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 5.6.0 | CC: | cpelland, ghubale, jhardy, kmorey, ltsai, mkanoor, nstephan, obarenbo, simaishi, tfitzger, vparekh | ||||
| Target Milestone: | GA | Keywords: | TestOnly | ||||
| Target Release: | 5.8.0 | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | tower:service:quota:provision | ||||||
| Fixed In Version: | 5.8.0.0 | Doc Type: | If docs needed, set a value | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 1387709 (view as bug list) | Environment: | |||||
| Last Closed: | 2017-06-12 16:20:51 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1387709 | ||||||
| Attachments: |
|
||||||
Tested the fix and the error goes away. New commit detected on ManageIQ/manageiq/master: https://github.com/ManageIQ/manageiq/commit/89926ae1b5333c298efd3dac8036fa4b88493b1f commit 89926ae1b5333c298efd3dac8036fa4b88493b1f Author: Tina Fitzgerald <tfitzger> AuthorDate: Mon Oct 10 14:51:34 2016 -0400 Commit: Tina Fitzgerald <tfitzger> CommitDate: Tue Oct 18 11:03:18 2016 -0400 Fix quota requested method to bypass prov_types starting with generic. Ansible tower prov_type is generic_ansible_tower. https://bugzilla.redhat.com/show_bug.cgi?id=1363901 .../CommonMethods/QuotaMethods.class/__methods__/requested.rb | 4 ++-- .../unit/method_validation/calculate_requested_spec.rb | 6 ++++++ spec/support/quota_helper.rb | 9 +++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) New commit detected on ManageIQ/manageiq/euwe: https://github.com/ManageIQ/manageiq/commit/0e33dfbfaaf0128875484745b143550a68b93bfa commit 0e33dfbfaaf0128875484745b143550a68b93bfa Author: Madhu Kanoor <mkanoor> AuthorDate: Wed Oct 19 15:17:54 2016 -0400 Commit: Oleg Barenboim <chessbyte> CommitDate: Fri Oct 21 11:05:03 2016 -0400 Merge pull request #11807 from tinaafitz/ansible_tower_quota_fix Fix quota requested method to bypass prov_types starting with generic. (cherry picked from commit 3656aea8c964bccda3646b918eb5b623a7a204d7) https://bugzilla.redhat.com/show_bug.cgi?id=1363901 .../CommonMethods/QuotaMethods.class/__methods__/requested.rb | 4 ++-- .../unit/method_validation/calculate_requested_spec.rb | 6 ++++++ spec/support/quota_helper.rb | 9 +++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) Quota related . Assigning to Aziza. No error in service bundle provisioning for Ansible Tower service types when quota is enforce. Verified:5.8.0.13-rc2.20170502165848_0f98658 |
Created attachment 1187221 [details] Example of error with Ansible Tower service type and quotas Description of problem: method_missing ERROR in automation.log (example attached) when using Ansible Tower type service item in a bundle and quota enabled: <code: @service_template.service_resources.each do |child_service_resource|>:42:in `service_prov_option' <code: @service ? collect_totals(service_prov_option(prov_option)) : collect_totals(vm_prov_option_value(prov_option))>:34:in `collect_template_totals' <code: total_requested = collect_template_totals(prov_option)>:23:in `get_total_requested' <code: {:storage => get_total_requested(options_hash, :storage),>:16:in `calculate_requested' [----] E, [2016-07-29T12:32:55.441374 #11588:12e4edc] ERROR -- : Q-task_id([service_template_provision_request_10000000000041]) Method STDERR: (druby://127.0.0.1:36751) /var/www/miq/vmdb/lib/miq_automation_engine/engine/miq_ae_service_model_base.rb:200:in `method_missing': undefined method `get_option' for #<MiqAeMethodService::MiqAeServiceManageIQ_Providers_AnsibleTower_ConfigurationManager_ConfigurationScript:0x0000000a209bf8> (NoMethodError) Version-Release number of selected component (if applicable): 5.6.0.13.20160624114606_13a9153 How reproducible: Always Steps to Reproduce: 1. create a service bundle including an Ansible Tower service type 2. make sure CloudForms quotas are enabled 3. provision the service Actual results: NoMethodError error in log for MiqAeServiceManageIQ_Providers_AnsibleTower_ConfigurationManager_ConfigurationScript Expected results: Method should be present or the exception handle Additional info: