Dear List,
I'm trying to check my toolshed tools by installing first on a local toolshed, but running into an error every time I try to add my tools.
In order to rule out possible idiosyncracies of my system I've reproduced the error on an Ubuntu VM ... the system was not completely clean ... a few packages required by galaxy and some dependencies of my tools have been installed, but I performed the following steps after creating a fresh "galaxy" user.
# Create new user "galaxy"
# Create galaxy_env via virtualenv.py
# Add entry to .bashrc to ensure python in galaxy_env is the default python for the galaxy user
# Fresh checkout of galaxy-central
# sh run.sh --reload
# Add admin user to galaxy by configuring universe_wsgi.ini
# Configure tool_sheds_conf.xml as follows;
<?xml version="1.0"?>
<tool_sheds>
</tool_sheds>
# Restart galaxy
# Register myself as a user of galaxy
# Add database_connection line to community_wsgi.ini
# Add admin user to community_wsgi.ini (same as for galaxy admin user)
# run sh run_community.sh
# Register myself as a user of the local toolshed
# Checked out my tools
# Made a bz2 file of all my tools
cd protk-toolshed
./make_package_data.sh
# Created a new category on the local toolshed ("Proteomics")
# Added a tool called "protk" to the Proteomics category
# Uploaded a bz2 file with my tools to the local toolshed.
Looking at the tool after upload everything seems fine
# Back on galaxy I attempted to load my tools.
After clicking the install button in galaxy I get the following traceback (as text)
File '/home/galaxy/central/galaxy-central/eggs/WebError-0.8a-py2.7.egg/weberror/evalexception/middleware.py', line 364 in respond
app_iter = self.application(environ, detect_start_response)
File '/home/galaxy/central/galaxy-central/eggs/Paste-1.6-py2.7.egg/paste/debug/prints.py', line 98 in __call__
environ, self.app)
File '/home/galaxy/central/galaxy-central/eggs/Paste-1.6-py2.7.egg/paste/wsgilib.py', line 539 in intercept_output
app_iter = application(environ, replacement_start_response)
File '/home/galaxy/central/galaxy-central/eggs/Paste-1.6-py2.7.egg/paste/recursive.py', line 80 in __call__
return self.application(environ, start_response)
File '/home/galaxy/central/galaxy-central/eggs/Paste-1.6-py2.7.egg/paste/httpexceptions.py', line 632 in __call__
return self.application(environ, start_response)
File '/home/galaxy/central/galaxy-central/lib/galaxy/web/framework/base.py', line 160 in __call__
body = method( trans, **kwargs )
File '/home/galaxy/central/galaxy-central/lib/galaxy/web/framework/__init__.py', line 184 in decorator
return func( self, trans, *args, **kwargs )
File '/home/galaxy/central/galaxy-central/lib/galaxy/web/controllers/admin_toolshed.py', line 371 in install_repository
response = urllib2.urlopen( url )
File '/usr/lib/python2.7/urllib2.py', line 126 in urlopen
return _opener.open(url, data, timeout)
File '/usr/lib/python2.7/urllib2.py', line 400 in open
response = meth(req, response)
File '/usr/lib/python2.7/urllib2.py', line 513 in http_response
'http', request, response, code, msg, hdrs)
File '/usr/lib/python2.7/urllib2.py', line 438 in error
return self._call_chain(*args)
File '/usr/lib/python2.7/urllib2.py', line 372 in _call_chain
result = func(*args)
File '/usr/lib/python2.7/urllib2.py', line 521 in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 503: Service Unavailable
I've since tried to figure out where this error actually occurs ... and (according to my crude debugging methods) the actual error originates at line 371 in admin_toolshed.py .. which looks like this ..
owner = get_repository_owner( clean_repository_clone_url( repository_clone_url ) )
url = '%s/repository/get_readme?name=%s&owner=%s&changeset_revision=%s&webapp=galaxy' % ( tool_shed_url, name, owner, changeset_revision )
response = urllib2.urlopen( url )
... so galaxy attempts to fetch a url for the tool readme file ... and that is failing. I've tried adding a readme.txt and that didn't solve the issue.
Hopefully this is enough for you to be able to reproduce the error ... I'm mainly just keen to get a workable setup for testing my tools, so a workaround would be much appreciated ... if there is anything obviously wrong with how I've set things up above can you let me know.
Thanks
Ira