[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[HTCondor-users] Not responding to listSpool requests



Hi,

I've been looking into building a web front end for our users to use when submitting Condor jobs. I'm talking to the Condor SOAP interface using Ruby and the Savon SOAP library. I've got general job management working but have hit a problem with listSpool. When I make a call to listSpool I get the following output:

I, [2013-01-10T09:56:35.113926 #4440]  INFO -- : SOAP request: http://localhost:8081/
I, [2013-01-10T09:56:35.114006 #4440]  INFO -- : SOAPAction: "listSpool", Content-Type: text/xml;charset=UTF-8, Content-Length: 372
D, [2013-01-10T09:56:35.114046 #4440] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:condor="urn:condor" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><condor:listSpool><jobId>0</jobId><clusterId>87</clusterId><transaction></transaction></condor:listSpool></env:Body></env:Envelope>
D, [2013-01-10T09:56:35.114313 #4440] DEBUG -- : HTTPI POST request to localhost (net_http)
/usr/lib/ruby/1.8/net/protocol.rb:135:in `sysread': end of file reached (EOFError)
        from /usr/lib/ruby/1.8/net/protocol.rb:135:in `rbuf_fill'
        from /usr/lib/ruby/1.8/timeout.rb:67:in `timeout'
        from /usr/lib/ruby/1.8/timeout.rb:101:in `timeout'
        from /usr/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
        from /usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
        from /usr/lib/ruby/1.8/net/protocol.rb:126:in `readline'
        from /usr/lib/ruby/1.8/net/http.rb:2028:in `read_status_line'
        from /usr/lib/ruby/1.8/net/http.rb:2017:in `read_new'
        from /usr/lib/ruby/1.8/net/http.rb:1051:in `request'
        from /usr/lib/ruby/gems/1.8/gems/httpi-2.0.0/lib/httpi/adapter/net_http.rb:33:in `request'
        from /usr/lib/ruby/gems/1.8/gems/httpi-2.0.0/lib/httpi/adapter/net_http.rb:55:in `do_request'
        from /usr/lib/ruby/1.8/net/http.rb:543:in `start'
        from /usr/lib/ruby/gems/1.8/gems/httpi-2.0.0/lib/httpi/adapter/net_http.rb:54:in `do_request'
        from /usr/lib/ruby/gems/1.8/gems/httpi-2.0.0/lib/httpi/adapter/net_http.rb:31:in `request'
        from /usr/lib/ruby/gems/1.8/gems/httpi-2.0.0/lib/httpi.rb:137:in `request'
        from /usr/lib/ruby/gems/1.8/gems/httpi-2.0.0/lib/httpi.rb:109:in `post'
        from /usr/lib/ruby/gems/1.8/gems/savon-2.0.2/lib/savon/request.rb:29:in `call'
        from /usr/lib/ruby/gems/1.8/gems/savon-2.0.2/lib/savon/operation.rb:47:in `call'
        from /usr/lib/ruby/gems/1.8/gems/savon-2.0.2/lib/savon/client.rb:36:in `call'
        from ./condor.rb:225:in `get_list_of_files_to_retrieve'
        from ./test_scheduler.rb:29
        from ./test_scheduler.rb:26:in `each'
        from ./test_scheduler.rb:26

I decided to test using soapUI to see if I could figure out what was going wrong. Using soapUI I send the following request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:condor">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:listSpool>
         <!--Optional:-->
         <transaction>
         </transaction>
         <clusterId>87</clusterId>
         <jobId>0</jobId>
      </urn:listSpool>
   </soapenv:Body>
</soapenv:Envelope>

Job 87.0 looks like:
-- Submitter: localhost.localdomain : <192.168.239.133:8081> : localhost.localdomain
 ID      OWNER            SUBMITTED     RUN_TIME ST PRI SIZE CMD              
  87.0   lee             1/9  14:52   0+00:01:01 C  0   17.1 runtest.bash      

The response that soapUI gets is:

Error getting response; org.apache.http.NoHttpResponseException: The target server failed to respond

Which is an odd response when other SOAP calls are working as expected.

Just to verify my own sanity and to make sure other calls were working I did a simple get version with soapUI. The call was:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:condor">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:getVersionString/>
   </soapenv:Body>
</soapenv:Envelope>

And the response was:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:condor="urn:condor">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <condor:getVersionStringResponse>
         <response>
            <status>
               <code>SUCCESS</code>
            </status>
            <message>$CondorVersion: 7.8.7 Dec 12 2012 BuildID: 86173 $</message>
         </response>
      </condor:getVersionStringResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


So soapUI is definitely working and able to talk to the Condor SOAP service. Other calls are working within my ruby script, such as transaction, cluster and job creation, submission, etc.

Does listSpool behave differently than the other calls? Could there be something I've missed in my setup? Are there any logs I should be checking? Up until now the SOAP services have worked as documented so I haven't had to do much digging.

Thanks,
Lee