Bug 1363901 - Quota check causes errors for service provisioning when using Ansible Tower service types
Summary: Quota check causes errors for service provisioning when using Ansible Tower s...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Automate
Version: 5.6.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: GA
: 5.8.0
Assignee: Tina Fitzgerald
QA Contact: Ganesh Hubale
URL:
Whiteboard: tower:service:quota:provision
Depends On:
Blocks: 1387709
TreeView+ depends on / blocked
 
Reported: 2016-08-03 21:30 UTC by Jerome Marc
Modified: 2018-11-12 12:32 UTC (History)
11 users (show)

Fixed In Version: 5.8.0.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1387709 (view as bug list)
Environment:
Last Closed: 2017-06-12 16:20:51 UTC
Category: ---
Cloudforms Team: ---
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Example of error with Ansible Tower service type and quotas (5.00 MB, text/plain)
2016-08-03 21:30 UTC, Jerome Marc
no flags Details

Description Jerome Marc 2016-08-03 21:30:52 UTC
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:

Comment 4 Tsai Li Ming 2016-10-11 02:51:07 UTC
Tested the fix and the error goes away.

Comment 5 CFME Bot 2016-10-19 19:21:17 UTC
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(-)

Comment 7 CFME Bot 2016-10-21 15:06:05 UTC
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(-)

Comment 9 Shveta 2017-04-28 17:34:17 UTC
Quota related .
Assigning to Aziza.

Comment 10 Aziza Karol 2017-05-03 06:58:43 UTC
No error in service bundle provisioning for Ansible Tower service types when quota is enforce.

Verified:5.8.0.13-rc2.20170502165848_0f98658


Note You need to log in before you can comment on or make changes to this bug.