When my module tries to retrieve results from a search launched by a user, it produces this error:
GET http://localhost:8000/en-US/module/system/Splunk.Module.[module_name]/render?sid=[job_id]&client_app=[app_name] 500 (Internal Server Error)
I believe it's being caused by a line in the python script in generateResults():
job = splunk.search.getJob(sid, sessionKey=cherrypy.session['sessionKey'])
I'm running Splunk 4.2.2
Any help is appreciated
EDIT:
This is the entire error:
2011-07-25 09:50:21,400 DEBUG [4e2d749d611ec1530] cplogging:55 - [25/Jul/2011:09:50:21] HTTP Traceback (most recent call last):
File "/Applications/splunk/lib/python2.6/site-packages/cherrypy/_cprequest.py", line 606, in respond
cherrypy.response.body = self.handler()
File "/Applications/splunk/lib/python2.6/site-packages/cherrypy/_cpdispatch.py", line 25, in __call_
return self.callable(*self.args, **self.kwargs)
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/lib/routes.py", line 320, in default
return route.target(self, **kw)
File " ", line 1, in
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/lib/decorators.py", line 38, in rundecs
return fn(*a, **kw)
File " ", line 1, in
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/lib/decorators.py", line 106, in check
return fn(self, *a, **kw)
File " ", line 1, in
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/lib/decorators.py", line 155, in validate_ip
return fn(self, *a, **kw)
File " ", line 1, in
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/lib/decorators.py", line 290, in preform_sso_check
return fn(self, *a, **kw)
File " ", line 1, in
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/lib/decorators.py", line 327, in check_login
return fn(self, *a, **kw)
File " ", line 1, in
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/lib/decorators.py", line 348, in handle_exceptions
return fn(self, *a, **kw)
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/controllers/module.py", line 62, in renderModule
return util.set_cache_level('etag', pageContent)
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/lib/util.py", line 620, in set_cache_level
if apply_etag(response):
File "/Applications/splunk/lib/python2.6/site-packages/splunk/appserver/mrsparkle/lib/util.py", line 577, in apply_etag
hash.update(contentstring)
TypeError: update() argument 1 must be string or read-only buffer, not int
EDIT2: I've tried a few other things...
result = os.popen('curl -u admin:changeme -k https://localhost:8089/services/search/jobs/'+jobId+'/results/').read()
returns an empty string when used in the module; the equivalent works in a shell
return httplib2.Http().request('https://localhost:8089/services/search/jobs'+jobId+'/results/', 'POST', headers={'Authorization': 'Splunk %s' % sKey})
gives me the above error when used in the module; works in the python interpreter
key = splunk.auth.getSessionKey('admin', 'changeme')
my_job = splunk.search.dispatch('search [terms]', namespace='search')
also gives me the above error when used in the module; works in the python interpreter
... View more