Hi Folks,

I've done a bit more work on this problem that I posted about on Friday.  I'm working on streamlining the installation of two tools, one of which has a complex repository dependency on the other.  FWIW, both tools are in the test tool shed, under visualization: xena_import has a complex repository dependency on start_xena.

I know that it should not be necessary to specify the toolshed and changeset revision in tool_dependencies.xml when indicating the complex repository dependency.  But here is what I observed.  When I specified the changeset_revision and toolshed, the installation worked fine.  When I removed the changeset_revision tag and reinstalled the tool, I experienced the bug detailed below, where a Google Chrome pop-up window told me that the repository installation failed, and after I clicked OK on the pop-up window, Galaxy seemed to go into an infinite state of indicating that the tool was "Cloning" and showing the same repeated POST commands in paster.log.  When I put the changeset_revision tag back again, the tool installation worked just fine.

Just to make sure that this wasn't all from some cruft hiding somewhere in my Galaxy installation, I started with a clean install today (including an 'hg update stable') and a clean shed_tools subdirectory.

I hope this helps.  In the meantime, thanks, everyone for all of your help!

Melissa


On Fri, Sep 12, 2014 at 12:02 PM, Melissa Cline <cline@soe.ucsc.edu> wrote:
Thanks, folks!  Everything you've said has clarified many things, and I'm working on putting them into practice.  But in the meantime, I've got a new error condition, with the same repositories (and complex repository dependencies), and could use some guidance.

I started to see this error condition when I removed the toolshed and changeset_revision tags in the tool_dependencies.xml for the dependent repository xena_install.  It now reads:

<?xml version="1.0"?>

<tool_dependency>

  <package name="installXena" version="1.0">

    <repository name="start_xena" owner="melissacline"/>

  </package>

</tool_dependency>

Short and simple.  But lately, when I try to install this repository from the test toolshed, I get a pop-up window from Chrome (my web browser) that says "The page at 127.0.0.1:8080 says:", "Initializing repository installation failed", with an OK button.  There is no error message visible in paster.log.  Here is what I do see:

127.0.0.1 - - [12/Sep/2014:11:45:57 -0700] "GET /admin_toolshed/prepare_for_ins\

tall?tool_shed_url=https://testtoolshed.g2.bx.psu.edu/&repository_ids=4ab1d3705\

ad0de2d&changeset_revisions=fe95cf1ae864 HTTP/1.1" 200 - "-" "Mozilla/5.0 (Maci\

ntosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.\

0.2062.94 Safari/537.36"

tool_shed.galaxy_install.repository_dependencies.repository_dependency_manager \

DEBUG 2014-09-12 11:46:05,937 Creating repository dependency objects...

tool_shed.util.shed_util_common DEBUG 2014-09-12 11:46:07,214 Updating an exist\

ing row for repository 'xena_import' in the tool_shed_repository table, status \

set to 'New'.

tool_shed.galaxy_install.repository_dependencies.repository_dependency_manager \

DEBUG 2014-09-12 11:46:07,241 Skipping installation of revision 75c7d80df9c1 of\

 repository 'start_xena' because it was installed with the (possibly updated) r\

evision 75c7d80df9c1 and its current installation status is 'Installed'.

tool_shed.galaxy_install.repository_dependencies.repository_dependency_manager \

DEBUG 2014-09-12 11:46:07,241 Building repository dependency relationships...

127.0.0.1 - - [12/Sep/2014:11:46:05 -0700] "POST /admin_toolshed/prepare_for_in\

stall HTTP/1.1" 200 - "http://127.0.0.1:8080/admin_toolshed/prepare_for_install\

?tool_shed_url=https://testtoolshed.g2.bx.psu.edu/&repository_ids=4ab1d3705ad0d\

e2d&changeset_revisions=fe95cf1ae864" "Mozilla/5.0 (Macintosh; Intel Mac OS X 1\

0_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36\

"

warning: testtoolshed.g2.bx.psu.edu certificate with fingerprint 79:94:82:1f:74\

:e6:f8:5c:1c:b8:3e:8d:89:f0:0e:88:9a:ac:2b:61 not verified (check hostfingerpri\

nts or web.cacerts config setting)

127.0.0.1 - - [12/Sep/2014:11:46:07 -0700] "POST /admin_toolshed/manage_reposit\

ories HTTP/1.1" 500 - "http://127.0.0.1:8080/admin_toolshed/prepare_for_install\

" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, li\

ke Gecko) Chrome/37.0.2062.94 Safari/537.36"

Debug at: http://127.0.0.1:8080/_debug/view/1410547505


Then when I click OK, the status of the tool changes to "Cloning", and stays in that state indefinitely while paster.log keeps logging a repeat of this message:

127.0.0.1 - - [12/Sep/2014:11:55:28 -0700] "POST /admin_toolshed/repository_ins\

tallation_status_updates HTTP/1.1" 200 - "http://127.0.0.1:8080/admin_toolshed/\

prepare_for_install" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKi\

t/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36"

Just in case this is from some cruft from a previous installation, I tried starting over with a brand new galaxy-dist directory.  It doesn't look like that changed anything.


Any ideas?  Many thanks in advance!


Melissa





On Fri, Sep 12, 2014 at 10:30 AM, Dave Bouvier <dave@bx.psu.edu> wrote:
Melissa,

The revision recorded in the filesystem path can seem odd at first glance. My inline responses should hopefully clarify that.

   --Dave B.

On 09/10/2014 05:49 PM, Melissa Cline wrote:
Hi Folks,

Okay, I really need debugging ideas on this one.

I have three repositories I'm developing under the test toolshed.
  They're named start_xena, xena_import and xena_find_datasets (they're
all under visualization).  start_xena contains a simple tool dependency
to a package named installXena.  xena_import and xena_find_datasets
contain complex dependencies to installXena.  I've installed these tools
on two computers.  On one, everything works great - amazingly well, in
fact!  Kudos, Development Team!  On the other computer, the env.sh files
associated with the complex dependencies keep referencing the wrong
version of start_xena/installXena.

Here are the gory details.

The start_xena tool is installed in
testtoolshed.g2.bx.psu.edu/repos/melissacline/start_xena/82755b0ee5a5/start_xena
<http://testtoolshed.g2.bx.psu.edu/repos/melissacline/start_xena/82755b0ee5a5/start_xena>.
  I'm a bit confused about the revision part of the path, because the
latest revision is different (75c7d80df9c1), and I have uninstalled and
re-installed the tool since its last update.  Its package, installXena,
is installed under tool_dependencies at
tool_dependencies/installXena/1.0/melissacline/start_xena/82755b0ee5a5/.
  That directory contains all the files I'd expect to be there, and its
env.sh file contains all the environment variables I'd intended to set.
   So far, so good.

xena_import is installed on my computer at
testtoolshed.g2.bx.psu.edu/repos/melissacline/xena_import/dc42b6bbc22b/xena_import
<http://testtoolshed.g2.bx.psu.edu/repos/melissacline/xena_import/dc42b6bbc22b/xena_import>.
  Its tool_dependencies.xml reference installXena under start_xena as:

<?xml version="1.0"?>

<tool_dependency>

   <package name="installXena" version="1.0">

     <repository toolshed="http://testtoolshed.g2.bx.psu.edu"
name="start_xena" owner="melissacline" changeset_revision="82755b0ee5a5"/>

   </package>

</tool_dependency>

(Aside: is it necessary to have the changeset_revision in there?  I'm a
bit worried about the maintenance task of updating it for all of my
dependent tools every time I update start_xena, but as I'll explain,
it's not clear that this revision info is getting used).

It is not necessary to populate the changeset_revision or toolshed attributes. If you omit them, they will be automatically filled in based on the most recent matching repository.


The tool dependency dir for xena_import is at
tool_dependencies/installXena/1.0/melissacline/xena_import/dc42b6bbc22b/.  Its
env.sh reads:

if [ -f
/Users/melissacline/src/galaxy-dist/tool_dependencies/installXena/1.0/melissacline/start_xena/0676a227dbc6/env.sh
] ; then .
/Users/melissacline/src/galaxy-dist/tool_dependencies/installXena/1.0/melissacline/start_xena/0676a227dbc6/env.sh
; fi

Notice that the wrong revision number is in there.  The 06 revision was
an older one.  Needless to say, the files and environment variables I
need aren't in the 06 directory.

Where does this incorrect revision number come from?  I've deleted all
the 06 directories, repeatedly.  I've deleted and reinstalled the tools,
and verified that after deletion, the directories in question were in
fact gone.  I've tried resetting the metadata for these tools under the
Galaxy Admin menu.  Now I need new ideas.  As I mentioned, all of this
works beautifully on a second computer.  It's as if the first Galaxy
installation, on the first computer, got stuck with some outdated
information, and I haven't figured out how to clear it out.

The 0676 revision number is based on the revision that was first installed, and should never change. When you update the repository, the database will record the new revision in a separate field, but the original revision id needs to be recorded in order to find the env.sh file on the filesystem.



Thanks!

Melissa




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

To search Galaxy mailing lists use the unified search at:
   http://galaxyproject.org/search/mailinglists/