Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 1517112

Summary: vm reconfigure when quota enabled gets stuck in 'pending' state
Product: Red Hat CloudForms Management Engine Reporter: Vatsal Parekh <vparekh>
Component: AutomateAssignee: Tina Fitzgerald <tfitzger>
Status: CLOSED CURRENTRELEASE QA Contact: Anurag <ansinha>
Severity: high Docs Contact:
Priority: high    
Version: 5.9.0CC: cpelland, gmccullo, greartes, jhardy, lavenel, mkanoor, obarenbo, simaishi, tfitzger, tuado
Target Milestone: GAKeywords: TestOnly, ZStream
Target Release: 5.10.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: testathon
Fixed In Version: 5.10.0.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1526568 1565724 (view as bug list) Environment:
Last Closed: 2018-06-21 20:47:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: CFME Core
Bug Depends On:    
Bug Blocks: 1526568, 1565724    

Description Vatsal Parekh 2017-11-24 08:55:42 UTC
Description of problem:
Re-configuring a VM with more then the quota set values, the request gets stuck in pending state

The automation.log gives the below errors
----] I, [2017-11-24T03:43:17.864748 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Updated namespace [System/CommonMethods/QuotaMethods/limits  ManageIQ/System/CommonMethods]
[----] I, [2017-11-24T03:43:17.871096 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Invoking [inline] method [/ManageIQ/System/CommonMethods/QuotaMethods/limits] with inputs [{}]
[----] I, [2017-11-24T03:43:17.872521 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) <AEMethod [/ManageIQ/System/CommonMethods/QuotaMethods/limits]> Starting 
[----] I, [2017-11-24T03:43:18.228991 #13150:d4ebbc]  INFO -- : <AEMethod limits> Getting Tenant Quota Values for: {:cpu=>1}
[----] I, [2017-11-24T03:43:18.256530 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) <AEMethod [/ManageIQ/System/CommonMethods/QuotaMethods/limits]> Ending
[----] I, [2017-11-24T03:43:18.256694 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Method exited with rc=MIQ_OK
[----] I, [2017-11-24T03:43:18.257123 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Followed  Relationship [miqaedb:/System/CommonMethods/QuotaMethods/limits#create]
[----] I, [2017-11-24T03:43:18.257231 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Processed  State=[limits] with Result=[ok]
[----] I, [2017-11-24T03:43:18.257352 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Processed State =[limits]
[----] I, [2017-11-24T03:43:18.257644 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Next State=[used]
[----] I, [2017-11-24T03:43:18.258060 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Processing State=[used]
[----] I, [2017-11-24T03:43:18.258273 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Following Relationship [miqaedb:/System/CommonMethods/QuotaMethods/used#create]
[----] I, [2017-11-24T03:43:18.265623 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Updated namespace [miqaedb:/System/CommonMethods/QuotaMethods/used#create  ManageIQ/System/CommonMethods]
[----] I, [2017-11-24T03:43:18.277076 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Updated namespace [System/CommonMethods/QuotaMethods/used  ManageIQ/System/CommonMethods]
[----] I, [2017-11-24T03:43:18.285103 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Invoking [inline] method [/ManageIQ/System/CommonMethods/QuotaMethods/used] with inputs [{}]
[----] I, [2017-11-24T03:43:18.287055 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) <AEMethod [/ManageIQ/System/CommonMethods/QuotaMethods/used]> Starting 
[----] I, [2017-11-24T03:43:18.954595 #13150:91b5b8]  INFO -- : <AEMethod used> Quota Used: {:cpu=>55, :memory=>102139691008, :vms=>33, :storage=>1564307619840, :provisioned_storage=>1666447310848}
[----] E, [2017-11-24T03:43:18.962320 #13150:4bb4460] ERROR -- : <AEMethod used> The following error occurred during method evaluation:
[----] E, [2017-11-24T03:43:18.963045 #13150:4bb4460] ERROR -- : <AEMethod used>   NoMethodError: undefined method `check_quota' for #<MiqAeMethodService::MiqAeServiceVmReconfigureRequest:0x0000000c2bc8a0>
[----] E, [2017-11-24T03:43:18.964248 #13150:4bb4460] ERROR -- : <AEMethod used>   (druby://127.0.0.1:44079) /opt/rh/cfme-gemset/bundler/gems/manageiq-automation_engine-d705a2f0064f/lib/miq_automation_engine/engine/miq_ae_method_service/miq_ae_service_model_base.rb:233:in `method_missing'
(druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1624:in `perform_without_block'
(druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1584:in `perform'
(druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1657:in `block (2 levels) in main_loop'
(druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1653:in `loop'
(druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1653:in `block in main_loop'
/ManageIQ/System/CommonMethods/QuotaMethods/used:54:in `active_provision_counts'
/ManageIQ/System/CommonMethods/QuotaMethods/used:26:in `used'
/ManageIQ/System/CommonMethods/QuotaMethods/used:17:in `main'
[----] E, [2017-11-24T03:43:18.969114 #13150:4bb4460] ERROR -- : Method STDERR: (druby://127.0.0.1:44079) /opt/rh/cfme-gemset/bundler/gems/manageiq-automation_engine-d705a2f0064f/lib/miq_automation_engine/engine/miq_ae_method_service/miq_ae_service_model_base.rb:233:in `method_missing': undefined method `check_quota' for #<MiqAeMethodService::MiqAeServiceVmReconfigureRequest:0x0000000c2bc8a0> (NoMethodError)
[----] E, [2017-11-24T03:43:18.969756 #13150:4bb4460] ERROR -- : Method STDERR: 	from (druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1624:in `perform_without_block'
[----] E, [2017-11-24T03:43:18.970390 #13150:4bb4460] ERROR -- : Method STDERR: 	from (druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1584:in `perform'
[----] E, [2017-11-24T03:43:18.970979 #13150:4bb4460] ERROR -- : Method STDERR: 	from (druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1657:in `block (2 levels) in main_loop'
[----] E, [2017-11-24T03:43:18.971577 #13150:4bb4460] ERROR -- : Method STDERR: 	from (druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1653:in `loop'
[----] E, [2017-11-24T03:43:18.972162 #13150:4bb4460] ERROR -- : Method STDERR: 	from (druby://127.0.0.1:44079) /opt/rh/rh-ruby23/root/usr/share/ruby/drb/drb.rb:1653:in `block in main_loop'
[----] E, [2017-11-24T03:43:18.972698 #13150:4bb4460] ERROR -- : Method STDERR: 	from /ManageIQ/System/CommonMethods/QuotaMethods/used:54:in `active_provision_counts'
[----] E, [2017-11-24T03:43:18.973260 #13150:4bb4460] ERROR -- : Method STDERR: 	from /ManageIQ/System/CommonMethods/QuotaMethods/used:26:in `used'
[----] E, [2017-11-24T03:43:18.973961 #13150:4bb4460] ERROR -- : Method STDERR: 	from /ManageIQ/System/CommonMethods/QuotaMethods/used:17:in `main'
[----] E, [2017-11-24T03:43:18.974466 #13150:4bb4460] ERROR -- : Method STDERR: 	from /ManageIQ/System/CommonMethods/QuotaMethods/used:74:in `<main>'
[----] I, [2017-11-24T03:43:18.997416 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) <AEMethod [/ManageIQ/System/CommonMethods/QuotaMethods/used]> Ending
[----] E, [2017-11-24T03:43:18.997939 #13150:3d5130] ERROR -- : Q-task_id([vm_reconfigure_request_4]) Aborting instantiation (unknown method return code) because [Method exited with rc=Unknown RC: [1]]
[----] E, [2017-11-24T03:43:18.998327 #13150:3d5130] ERROR -- : Q-task_id([vm_reconfigure_request_4]) State=<used> running  raised exception: <Method exited with rc=Unknown RC: [1]>
[----] W, [2017-11-24T03:43:18.998478 #13150:3d5130]  WARN -- : Q-task_id([vm_reconfigure_request_4]) Error in State=[used]
[----] I, [2017-11-24T03:43:18.998836 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Followed  Relationship [miqaedb:/System/CommonMethods/QuotaStatemachine/quota#create]
[----] I, [2017-11-24T03:43:18.999535 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Followed  Relationship [miqaedb:/System/Policy/VmReconfigureRequest_starting#create]
[----] I, [2017-11-24T03:43:19.000010 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Followed  Relationship [miqaedb:/System/Policy/request_starting#create]
[----] I, [2017-11-24T03:43:19.000494 #13150:3d5130]  INFO -- : Q-task_id([vm_reconfigure_request_4]) Followed  Relationship [miqaedb:/System/Event/RequestEvent/Request/request_starting#create]

Version-Release number of selected component (if applicable):
Version 5.9.0.10.20171121225911_a2209d2

How reproducible:


Steps to Reproduce:
1.Set tenant quota
2.reconfigure a vm with over the quota resources
3.

Actual results:
Gets stuck in pending state, and shows error in automation log

Expected results:
Should show error of exceed quota

Additional info:

Comment 4 CFME Bot 2017-12-14 21:36:44 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/107f2ef14187f0177673565c7ede8a6deaecd998

commit 107f2ef14187f0177673565c7ede8a6deaecd998
Author:     Tina Fitzgerald <tfitzger@redhat.com>
AuthorDate: Fri Dec 8 14:25:49 2017 -0500
Commit:     Tina Fitzgerald <tfitzger@redhat.com>
CommitDate: Thu Dec 14 11:05:53 2017 -0500

    Include MiqProvisionQuotaMixin.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1517112

 app/models/vm_cloud_reconfigure_request.rb | 1 +
 app/models/vm_migrate_request.rb           | 1 +
 app/models/vm_reconfigure_request.rb       | 1 +
 3 files changed, 3 insertions(+)

Comment 5 CFME Bot 2017-12-14 21:41:52 UTC
New commit detected on ManageIQ/manageiq-automation_engine/master:
https://github.com/ManageIQ/manageiq-automation_engine/commit/f5e204abf49b59af942d9c13d9fe794a1e005b57

commit f5e204abf49b59af942d9c13d9fe794a1e005b57
Author:     Tina Fitzgerald <tfitzger@redhat.com>
AuthorDate: Mon Oct 30 12:42:46 2017 -0400
Commit:     Tina Fitzgerald <tfitzger@redhat.com>
CommitDate: Thu Dec 14 11:27:47 2017 -0500

    Add vm_reconfigure_request service model.
    Add new quota mixin to expose check_quota.
    https://bugzilla.redhat.com/show_bug.cgi?id=1517112

 .../miq_ae_service_vm_cloud_reconfigure_request.rb               | 9 +++++++++
 .../service_models/miq_ae_service_vm_migrate_request.rb          | 2 ++
 .../service_models/miq_ae_service_vm_reconfigure_request.rb      | 9 +++++++++
 .../mixins/miq_ae_service_miq_provision_quota_mixin.rb           | 6 ++++++
 4 files changed, 26 insertions(+)
 create mode 100644 lib/miq_automation_engine/service_models/miq_ae_service_vm_cloud_reconfigure_request.rb
 create mode 100644 lib/miq_automation_engine/service_models/miq_ae_service_vm_reconfigure_request.rb
 create mode 100644 lib/miq_automation_engine/service_models/mixins/miq_ae_service_miq_provision_quota_mixin.rb

Comment 8 Satoe Imaishi 2018-04-10 21:14:27 UTC
*** Bug 1564697 has been marked as a duplicate of this bug. ***