bird-house/flyingpigeon

Make the pigeon fly again?

cehbrecht opened this issue · 7 comments

Currently the pigeon is not flying ... probably due to several issues, first of all the broken gdal dependency (#257).

We also would like to sync the flyingpigeon from ouranos to birdhouse.

  • release 1.3.0
    @huard @nilshempelmann When the 1.2.1 release is done and pushed to 1.2.x branch we could merge (or even hard reset) the master to the (working) ouranos flyingpigeon. It could be released as 1.3.0 and go to the 1.3.x branch.

We should move to the new deployment without buildout.

  • release 2.0.0
    When 1.3.x is ready we can reset the master to a new flyingpigeon created from the cookiecutter. Then one can step by step integrate the wanted processes (ouranos, pavics, Nils) from the old times (1.2.x, 1.3.x).

The flyingpigeon is supposed to be the experimental bird. Things that are already in good shape and supposed for a production WPS could go into a new bird.

What do you think?

What exactly is buildout? From what I've seen in the travis build logs, it looks as though the buildout process is what has been failing during install. Beyond the requirements.txt and bootstrap.sh, are there any other requirements lists looked at during the install phase?

@Zeitsperre buildout is used to run the deployment:
http://docs.buildout.org/en/latest/contents.html

This is hidden behind the scenes ... we are just calling make install.

There might be issues with the buildout config as well ... but the travis log I've checked complains about the eggshell ... but the conda env seems to work:
https://travis-ci.org/bird-house/flyingpigeon/builds/427287230

Got buildout.locallib 0.3.1.
Develop: '/home/travis/build/bird-house/flyingpigeon/.'
Traceback (most recent call last):
  File "/tmp/tmp1TDKJY", line 14, in <module>
    exec(compile(f.read(), '/home/travis/build/bird-house/flyingpigeon/./setup.py', 'exec'))
  File "/home/travis/build/bird-house/flyingpigeon/./setup.py", line 5, in <module>
    version = __import__('flyingpigeon').__version__
  File "/home/travis/build/bird-house/flyingpigeon/./flyingpigeon/__init__.py", line 1, in <module>
    from .wsgi import application
  File "/home/travis/build/bird-house/flyingpigeon/./flyingpigeon/wsgi.py", line 4, in <module>
    from .processes import processes
  File "/home/travis/build/bird-house/flyingpigeon/./flyingpigeon/processes/__init__.py", line 1, in <module>
    from .wps_EO_COPERNICUS_fetch import EO_COP_fetchProcess
  File "/home/travis/build/bird-house/flyingpigeon/./flyingpigeon/processes/wps_EO_COPERNICUS_fetch.py", line 7, in <module>
    from eggshell.log import init_process_logger
ImportError: No module named eggshell.log
While:
  Installing.
  Processing develop directory '/home/travis/build/bird-house/flyingpigeon/

@Zeitsperre I couldn't find your pull, is there any progress?
To make flyingpigeon fly again, it needs to:

  • reduce dependencies (switch off processes and functions)
  • integrate eggshell as an external function library

switched off weak processes. removed R-dependencies

@nilshempelmann My PR was merged into master and I archived my Zeitsperre/flyingpigeon fork. I'll be working directly off of your "next" branch.

After switching around the conda librairies, I think the issue is appearing in buildout, after conda successfully installs; we might need to update the dependencies in the recipe/eggs that are installed during buildout.

@Zeitsperre @nilshempelmann
the good news ... the pigeon is flying on master again (with PR #261). But ... I have disabled most of the processes ... just kept the clipping and indices. Buildout is updated. Fixed at least the eggshell imports.

I leave it to you to try to get some more processes working again. But I just want to make a release 1.2.1 ... Ouranos sync can happen after this (1.3.0). You only need to enable the processes you currently need. We can re-integrate the processes with the new flyingpigeon (2.0.0) without the buildout deployment.

Great!!
Next is up to date with master, and we can switch on other processes. There is a warning in the docs.
@Zeitsperre: there are no commit from your side. better to do a clean checkout now.