Can you add a `python scripts/fetch_eggs.py` to your travis config just after the stop-daemon?  That should parse eggs.ini and fetch all of the eggs.


On Mon, May 5, 2014 at 9:51 AM, Peter Cock <p.j.a.cock@googlemail.com> wrote:
On Mon, May 5, 2014 at 2:30 PM, Dannon Baker <dannon.baker@gmail.com> wrote:
> Hey Peter,
>
> Just looking at the travis job, it looks like there's not a fetch_eggs step
> at the start, but rather that it's fetching as they're require()'d.  Is that
> correct?

Yes, https://github.com/peterjc/pico_galaxy/blob/master/.travis.yml
does not (currently) attempt to fetch any eggs explicitly - it lets the
different bits of Galaxy do this on demand.

Is there a simple command line instruction to tell Galaxy to fetch
all the eggs it might want?

> In any event, I'm changing the order of those requires in
> 13302:92519a9bfa32, which may resolve your issue.  They work fine like that
> in production with eggs fetched ahead of time, but I could see how that'd
> cause the failure you're seeing.

https://bitbucket.org/galaxy/galaxy-central/commits/92519a9bfa32a42ce47a63fdb72c8e2d717ec52e

It looks like John has his Galaxy mirror automatically updates (or he
did a push just now), so I could ask TravisCI to retest immediately.
[In earlier testing GitHub was faster than BitBucket for fetching Galaxy]:

https://github.com/jmchilton/galaxy-central/commit/9e72c14ef176e494a611bee6441477a05fb8e677

Unfortunately, no real change:

...
functional_tests.py INFO 2014-05-05 13:44:46,611 Embedded Universe
application started
galaxy.web.framework.base DEBUG 2014-05-05 13:44:46,684 Enabling
'requests' controller, class: Requests
galaxy.web.framework.base DEBUG 2014-05-05 13:44:46,685 Enabling
'requests_common' controller, class: RequestsCommon
galaxy.web.framework.base DEBUG 2014-05-05 13:44:46,758 Enabling
'library_common' controller, class: LibraryCommon
galaxy.web.framework.base DEBUG 2014-05-05 13:44:46,762 Enabling
'library' controller, class: Library
galaxy.web.framework.base DEBUG 2014-05-05 13:44:46,765 Enabling
'userskeys' controller, class: User
galaxy.web.framework.base DEBUG 2014-05-05 13:44:46,773 Enabling
'tool_runner' controller, class: ToolRunner
galaxy.eggs DEBUG 2014-05-05 13:44:46,958 Fetched
http://eggs.galaxyproject.org/SVGFig/SVGFig-1.1.6-py2.7.egg
galaxy.web.framework.base DEBUG 2014-05-05 13:44:47,116 Enabling
'admin_toolshed' controller, class: AdminGalaxy
galaxy.web.framework.base DEBUG 2014-05-05 13:44:47,116 Enabling
'admin_toolshed' controller, class: AdminToolshed
galaxy.web.framework.base DEBUG 2014-05-05 13:44:47,189 Enabling
'dataset' controller, class: DatasetInterface
galaxy.web.framework.base DEBUG 2014-05-05 13:44:47,190 Enabling
'search' controller, class: SearchController
galaxy.web.framework.base DEBUG 2014-05-05 13:44:47,202 Enabling
'data_admin' controller, class: DataAdmin
galaxy.web.framework.base DEBUG 2014-05-05 13:44:47,246 Enabling
'user' controller, class: User
galaxy.web.framework.base DEBUG 2014-05-05 13:44:47,256 Enabling
'external_service' controller, class: ExternalService
galaxy.web.framework.base DEBUG 2014-05-05 13:44:47,260 Enabling
'ucsc_proxy' controller, class: UCSCProxy
Traceback (most recent call last):
  File "./scripts/functional_tests.py", line 601, in <module>
    sys.exit( main() )
  File "./scripts/functional_tests.py", line 417, in main
    use_translogger=False, static_enabled=STATIC_ENABLED )
  File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/webapps/galaxy/buildapp.py",
line 49, in app_factory
    webapp.add_ui_controllers( 'galaxy.webapps.galaxy.controllers', app )
  File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/web/framework/__init__.py",
line 441, in add_ui_controllers
    module = import_module( module_name )
  File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/util/backports/importlib/__init__.py",
line 37, in import_module
    __import__(name)
  File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/webapps/galaxy/controllers/cloudlaunch.py",
line 18, in <module>
    eggs.require('pyyaml')
  File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/eggs/__init__.py",
line 412, in require
    return pkg_resources.working_set.require( req_str )
  File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/pkg_resources.py",
line 666, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/pkg_resources.py",
line 565, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: pyyaml
galaxy.jobs.handler INFO 2014-05-05 13:44:47,295 sending stop signal
to worker thread
galaxy.jobs.handler INFO 2014-05-05 13:44:47,296 job handler queue stopped
...

Peter