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:
https://github.com/ManageIQ/manageiq-automation_engine/pull/97
https://github.com/ManageIQ/manageiq/pull/16626
New commit detected on ManageIQ/manageiq/master: https://github.com/ManageIQ/manageiq/commit/107f2ef14187f0177673565c7ede8a6deaecd998 commit 107f2ef14187f0177673565c7ede8a6deaecd998 Author: Tina Fitzgerald <tfitzger> AuthorDate: Fri Dec 8 14:25:49 2017 -0500 Commit: Tina Fitzgerald <tfitzger> 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(+)
New commit detected on ManageIQ/manageiq-automation_engine/master: https://github.com/ManageIQ/manageiq-automation_engine/commit/f5e204abf49b59af942d9c13d9fe794a1e005b57 commit f5e204abf49b59af942d9c13d9fe794a1e005b57 Author: Tina Fitzgerald <tfitzger> AuthorDate: Mon Oct 30 12:42:46 2017 -0400 Commit: Tina Fitzgerald <tfitzger> 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
*** Bug 1564697 has been marked as a duplicate of this bug. ***