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:
https://github.com/ManageIQ/manageiq/pull/11807
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(-)
https://github.com/ManageIQ/manageiq/pull/12053
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