rbovirt times out when listing VMs in RHEV compute resource
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1294676
Description of problem:
Timeout when trying to list the VMs in a RHEV compute resource.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Add a RHEV compute resource with a large number of VMs
2. Try to view the list of VMs in the RHEV compute resource
- Web ui displays "There was an error listing VMs: Request Timeout".
- /var/log/foreman/production.log shows the request is timing out after 60 seconds:
2015-12-29 09:29:00 [D] RestClient.get "https://rhevm.example.com/api/datacenters/f4f8fd40-452c-4042-8152-4d5dc84a764c", "Accept"=>"application/xml", "Accept-Encoding"=>"gzip, deflate", "Authorization"=>"Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "Content-Type"=>"application/xml"
2015-12-29 09:29:00 [D] # => 200 OK | application/xml 379 bytes
2015-12-29 09:29:00 [D] RestClient.get "https://rhevm.example.com/api/vms?search=datacenter%3DRHEV-DC", "Accept"=>"application/xml; detail=disks; detail=nics; detail=hosts", "Accept-Encoding"=>"gzip, deflate", "Authorization"=>"Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "Content-Type"=>"application/xml"
2015-12-29 09:30:01 [W] Error has occurred while listing VMs on RHEV-DC (RHEV): Request Timeout
The VMs are listed.
rbovirt seems to be inheriting the default timeout from Net::HTTP .
In file /usr/share/ruby/net/http.rb:
630 # Creates a new Net::HTTP object for the specified server address,
631 # without opening the TCP connection or initializing the HTTP session.
633 def initialize(address, port = nil)
645 @read_timeout = 60
Updated by Dominic Cleal almost 8 years ago
- Subject changed from rbovirt: sat6 times out when listing VMs in RHEV compute resource to rbovirt times out when listing VMs in RHEV compute resource
- Category changed from Compute resources to Compute resources - oVirt
- Priority changed from High to Normal
Updated by Ohad Levy almost 8 years ago
rhev by default does not paginate, it is possible to force pagination by using the max attribute, see https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.4/html/Technical_Guide/Maximum_Results_Parameter.html
however, in order to use it with datatables, we would need to support passing pagination information via the compute resource vms controller, and respond with json instead.