Hello Ira,

Sorry you bumped into this problem.  I've cloned your protk-toolshed repository and made a bz2 compressed archive as you did.  I was able to upload it to a local tool shed, and was successful installing from there to my local Galaxy instance, where my environment is running Galaxy change set revision 7116:0cffe389e1b3.  This tells me that the problem is most likely due to your running an older version of Galaxy.  

Are you tracking our galaxy-central repository in your environment?  Since the galaxy-dist repository is generally 4-8 weeks older than the galaxy-central repository, many of the features enabling the Galaxy <-> tool shed communication are not functional in galaxy-dist.

If this is not the problem, can you send me the snippet of your paster log from your tool shed that shows the request that produced the 503 error?  This should help get things figured out.  By the way, from your description, I assume you are not running an Apache front-end on either your Galaxy instance or your tool shed - is this correct?

Thanks!

Greg Von Kuster


On Apr 26, 2012, at 3:41 AM, Ira Cooke wrote:

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

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

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










___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

 http://lists.bx.psu.edu/