Error in Placement due to timeout

automate

#1

Hi,
Hi,

I am hit by the timeout issue at ‘Placement’ stage while using ‘vmware_best_fit_with_scope’. Error shown as
Terminating non responsive method with pid 13972
The following error occurred during method evaluation:
SignalException: SIGTERM

I have around 70 EXSi hosts and timeout occurred when MIQ is retrieving EXSi resource data via WS that resulted in the process to run beyond 600ms. As we have only added a subset of hosts in the scope, is there anyway to ensure that MIQ only retrieve host resources of EXSi host in-scope, instead of trying to retrieve data from ALL hosts ( I am guessing this retrieval is invoked by the line: active_prov_data = (:active_provisions) )?

Thank you very much.

Best Regards,
Casius.


#2

The problem is that the method enumerates all hosts that match the HOST_SORT_ORDER list before it matches against tagged groups. The default is:

HOST_SORT_ORDER = [:active_provioning_memory, :current_memory_headroom, :random]

…and it’s the :current_memory_headroom value that takes the time. With this set the method calls the current_memory_headroom method on each host object, and this makes a call to vCenter to pull back the real-time memory utilisation for the host. I’ve seen a busy vCenter take 30 seconds or so to respond to each of these method calls. Multiply this by your number of hosts, and that’s where your timeout is.

The simplest workaround is probably to remove :current_memory_headroom from the HOST_SORT_ORDER list, i.e.

HOST_SORT_ORDER = [:active_provioning_memory, :random]

Hope this helps,

pemcg


#3

Thanks! The suggested solution works for me. Really appreciate your response.