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_shed name="Local" url="http://127.0.0.1:9009/"/>
    <tool_shed name="Galaxy main tool shed" url="http://toolshed.g2.bx.psu.edu/"/>
    <tool_shed name="Galaxy test tool shed" url="http://testtoolshed.g2.bx.psu.edu/"/>
</tool_sheds>

# Restart galaxy
# Register myself as a user of galaxy

# Add database_connection line to community_wsgi.ini
- database_connection=sqlite:///./database/community.sqlite?isolation_level=IMMEDIATE

# 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
hg clone https://bitbucket.org/iracooke/protk-toolshed

# 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)

URL: http://127.0.0.1:8080/admin_toolshed/install_repository?tool_shed_url=http://127.0.0.1:9009/&repo_info_dict=0a19b3600379cf51a9d8ca26ff0e7754f5e99731:7b2270726f746b223a205b2250726f74656f6d69637320746f6f6c6b6974222c2022687474703a2f2f697261636f6f6b65403132372e302e302e313a393030392f7265706f732f697261636f6f6b652f70726f746b222c2022646330343464623536626634222c202230225d7d&includes_tools=True
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