I have a very similar problem! We have an older server, running the VMware VI SDK for Perl in older version (about 3 years old). That server is currently in production and works, it has the f...
See more...
I have a very similar problem! We have an older server, running the VMware VI SDK for Perl in older version (about 3 years old). That server is currently in production and works, it has the following modules: [root@vmgw02 ~]# rpm -qa | grep perl | sort perl-5.8.8-32.el5_5.1 perl-Compress-Zlib-1.42-1.fc6 perl-Crypt-SSLeay-0.51-11.el5 perl-DBD-MySQL-3.0007-2.el5 perl-DBD-Pg-1.49-2.el5_3.1 perl-DBI-1.52-2.el5 perl-Digest-HMAC-1.01-15 perl-Digest-SHA1-2.11-1.2.1 perl-File-Type-0.22-3.el5 perl-HTML-Parser-3.55-1.fc6 perl-HTML-Tagset-3.10-2.1.1 perl-IO-Socket-INET6-2.51-2.fc6 perl-IO-Socket-SSL-1.01-1.fc6 perl-libwww-perl-5.805-1.1.1 perl-libxml-perl-0.08-1.2.1 perl-MailTools-1.77-1.el5.centos perl-MIME-Lite-3.01-5.el5 perl-Net-SSLeay-1.30-4.fc6 perl-Socket6-0.19-3.fc6 perl-String-CRC32-1.4-2.fc6 perl-TermReadKey-2.30-4.el5 perl-TimeDate-1.16-5.el5 perl-URI-1.35-3 perl-XML-Parser-2.34-6.1.2.2.1 The new server, with the updated SDK: [root@tcc1-dns ~]# rpm -qa | grep perl | sort perl-5.8.8-27.el5 perl-DBD-MySQL-3.0007-2.el5 perl-DBI-1.52-2.el5 perl-String-CRC32-1.4-2.fc6 I isolated our problem to be reproducible using the /usr/lib/vmware-vcli/apps/vm/vmcontrol.pl using a --operation reset In Perl debugging, I can see that It does a SOAP request (which looks complete), and then gets a very long response, but malformed - the XML body is cut off, and the following header is added to the response object, when I do x $response in debugger (Please note RetrievePropertiesResponse has a really loooong output, I cut it off to protect the data - but I left the structure showing how XML is cut in the end In: SoapClient::request(/usr/lib/perl5/5.8.8/VMware/VICommon.pm:2207): DB<2> x $response 0 HTTP::Response=HASH(0x14d133e0) '_content' => '<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <RetrievePropertiesResponse xmlns="urn:vim25"><returnval><obj type="VirtualMachine">vm-212827</obj><propSet><name>name</name><val xsi:type="xsd:string">PPA (87030acc-1eee-483e-8952-7bc1ba23515f)</val></propSet></returnval><returnval><obj type="VirtualMachine">vm-246541</obj><propSet><name>name</name><val xsi:type="xsd:string">SAP-VM2 (2264bf74-ff16-4788-b822-7e248f42d540)</val></propSet></returnval><re' '_headers' => HTTP::Headers=HASH(0x14d131f0) '::std_case' => HASH(0x14d13180) 'client-aborted' => 'Client-Aborted' 'client-date' => 'Client-Date' 'client-peer' => 'Client-Peer' 'client-response-num' => 'Client-Response-Num' 'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer' 'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject' 'client-ssl-cipher' => 'Client-SSL-Cipher' 'client-ssl-socket-class' => 'Client-SSL-Socket-Class' 'client-ssl-warning' => 'Client-SSL-Warning' 'client-transfer-encoding' => 'Client-Transfer-Encoding' 'set-cookie' => 'Set-Cookie' 'set-cookie2' => 'Set-Cookie2' 'x-died' => 'X-Died' 'cache-control' => 'no-cache' 'client-aborted' => 'die' 'client-date' => 'Tue, 31 Dec 2013 15:16:59 GMT' 'client-peer' => '1.1.1.4:443' 'client-response-num' => 2 'client-ssl-cert-issuer' => '/O=VMware Installer' 'client-ssl-cert-subject' => '/O=VMware, Inc./OU=VMware, Inc./CN=VMware default certificate/emailAddress=support@vmware.com' 'client-ssl-cipher' => 'AES256-SHA' 'client-ssl-socket-class' => 'Net::SSL' 'client-ssl-warning' => 'Peer certificate not verified' 'client-transfer-encoding' => ARRAY(0x12d47140) 0 'chunked' 'connection' => 'Keep-Alive' 'content-type' => 'text/xml; charset=utf-8' 'date' => 'Tue, 31 Dec 2013 15:16:38 GMT' 'x-died' => 'read timeout at /usr/lib/perl5/site_perl/5.8.8/Net/HTTP/Methods.pm line 236.' '_msg' => 'OK' '_protocol' => 'HTTP/1.1' '_rc' => 200 '_request' => HTTP::Request=HASH(0x14d4fb90) '_content' => '<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <RetrieveProperties xmlns="urn:vim25"><_this type="PropertyCollector">propertyCollector</_this> <specSet><propSet><type>VirtualMachine</type><all>0</all><pathSet>name</pathSet></propSet><objectSet><obj type="Folder">group-d1</obj> <skip>0</skip><selectSet xsi:type="TraversalSpec"><name>folderTraversalSpec</name><type>Folder</type><path>childEntity</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet><selectSet><name>datacenterHostTraversalSpec</name></selectSet><selectSet><name>datacenterVmTraversalSpec</name></selectSet><selectSet><name>datacenterDatastoreTraversalSpec</name></selectSet><selectSet><name>datacenterNetworkTraversalSpec</name></selectSet><selectSet><name>computeResourceRpTraversalSpec</name></selectSet><selectSet><name>computeResourceHostTraversalSpec</name></selectSet><selectSet><name>hostVmTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterDatastoreTraversalSpec</name><type>Datacenter</type><path>datastoreFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterNetworkTraversalSpec</name><type>Datacenter</type><path>networkFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterVmTraversalSpec</name><type>Datacenter</type><path>vmFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterHostTraversalSpec</name><type>Datacenter</type><path>hostFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>computeResourceHostTraversalSpec</name><type>ComputeResource</type><path>host</path><skip>0</skip></selectSet><selectSet xsi:type="TraversalSpec"><name>computeResourceRpTraversalSpec</name><type>ComputeResource</type><path>resourcePool</path><skip>0</skip><selectSet><name>resourcePoolTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>resourcePoolTraversalSpec</name><type>ResourcePool</type><path>resourcePool</path><skip>0</skip><selectSet><name>resourcePoolTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>hostVmTraversalSpec</name><type>HostSystem</type><path>vm</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>resourcePoolVmTraversalSpec</name><type>ResourcePool</type><path>vm</path><skip>0</skip></selectSet></objectSet></specSet></RetrieveProperties></soapenv:Body></soapenv:Envelope> ' '_headers' => HTTP::Headers=HASH(0x14d4fa60) '::std_case' => HASH(0x14d4fbb0) 'cookie' => 'Cookie' 'cookie2' => 'Cookie2' 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject' 'soapaction' => 'SOAPAction' 'content-length' => 3164 'content-type' => 'text/xml' 'cookie' => 'vmware_soap_session="52981bc0-8697-558d-4f6e-9588b76021c6"' 'cookie2' => '$Version="1"' 'soapaction' => '"urn:vim25/test"' 'user-agent' => 'VI Perl' '_method' => 'POST' '_uri' => URI::https=SCALAR(0x14cc0560) -> 'https://1.1.1.4:443/sdk/webService' '_uri_canonical' => URI::https=SCALAR(0x14cc5320) -> 'https://1.1.1.4/sdk/webService' I did further tests: When I clone the old (production) machine, and boot the clone with the IP of the new machine - the scripts work (meaning its not firewall or network issue). From my check with Perl, the timeout on HTTP::Request module's underlying modules, is 0 by default (no timeout), and anyway I have ruled out network issue as the cause. EDIT: The trigger is my $vm_views = VMUtils::get_vms ('VirtualMachine', $vm_name, $datacenter, $folder, $pool, $host, %filterHash); line 95 in /usr/lib/vmware-vcli/apps/vm/vmcontrol.pl, all calls including connect pass successfully before hand. Please, can anyone give me some hints into the possible cause? Thanks!