Bug #13091
closedrbovirt times out when listing VMs in RHEV compute resource
Description
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):
ruby193-rubygem-rbovirt-0.0.29-1.el7sat
How reproducible:
Always
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
3.
Actual results:
- 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
Expected results:
The VMs are listed.
Additional info:
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 Ohad Levy about 9 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.
Updated by Anonymous about 9 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset fbd765f1a9430e51b64006b88c0773da0419c4d6.