Hi Ira,

I'm not quite sure what's causing this, as the 503 error is usually stating that the web server is not available.  

Setting up your servers behind a proxy is probably not necessary as it just adds another level of complexity - I was just wondering if that's what you had already.   It's better that you have the simpler setup while we try to figure this out.  

When you get back from your trip, send me a message and we'll work  on it.  As I said in my previous response, your repository installs just fine in my environment, so we'll focus on tracking down what is different in yours.

Thanks!

Greg Von Kuster

On Apr 26, 2012, at 2:27 PM, Ira Cooke wrote:

Hi Greg, 

I seem to run into the problem regardless of the revision of Galaxy I use ... it was happening infrequently until recently ... but now it happens every single time I try to install my tools (with the latest galaxy-dist).  Yesterday ... I tested with the latest galaxy-central in order to create my bug report.

Unfortunately I'm on a trip until saturday ... so I can't get at the paster log for the VM I did my testing on.  I looked at the paster log though and I can remember that the request shown is the same as the request shown in the error.  It's this;


All my settings are default except very tiny modifications to add myself as an admin.  When I get back from my trip I'll try setting up things behind a proxy and see if that fixes the issue.

Will let you know how I go

Ira


On 26/04/2012, at 11:40 PM, Greg Von Kuster wrote:

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

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