Pagination in $evm.vmdb request

automate

#1

Hi guys.

I found that $evm.vmdb(‘vm’) and $evm.vmdb(‘cloud_tenant’) request ate workers ram because after certain automation instances the worker restart with message:

[----] W, [2017-10-17T14:46:55.711136 #32236:114313c]  WARN -- : MIQ(MiqServer#validate_worker) Worker [MiqGenericWorker] with ID: [2319938], PID: [23997], GUID: [fac914b0-b32f-11e7-a2b0-0050568e090f] process memory usage [3450996000] exceeded limit [3221225472], requesting worker to exit

Is there any way to limit request for $evm.vmdb and specify offset for next requests ?


#2

Found that I can start GC from inline scripts:

 category = 'tenant'

 emss = $evm.vmdb('ext_management_system').where(:type => "ManageIQ::Providers::Openstack::CloudManager")

 cloud_tenants = $evm.vmdb('cloud_tenant').where(:enabled => true, :ems_id => emss.first.id)

 GC.start
 cloud_tenants.each do |cloud_tenant|
    # tag each flavor for resizing purposes
    tag = "#{category}/#{cloud_tenant.name.to_s.downcase}"
    <...>

As you can see I start GC usage at 15:30 and memory usage was normalized.