bird-house / cookiecutter-birdhouse

Cookiecutter template for Birdhouse PyWPS birds.
http://cookiecutter-birdhouse.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

Collect review for cookiecutter and new deployment #30

Closed cehbrecht closed 5 years ago

cehbrecht commented 6 years ago

Description

Cookiecutter generates a new PyWPS service using a simplified deployment just relying on Werkzeug and Conda. A system installation can be done using Ansible. We need to see if users accept it :)

huard commented 6 years ago

Following instructions in http://ansible-wps-playbook.readthedocs.io/en/latest/tutorial.html Except I'm running on my own machine and not a docker container : |

I get a permission denied error at TASK [common : Install common packages on Debian] and many other tasks that require a system installation.

Using become: true on those tasks seems to solve the issue. Is it ok to do this? Do we rather want to install all those in a virtual env or it's meant only for docker?

huard commented 6 years ago

There seems to be a way to run the playbook in a virtualenv: https://stackoverflow.com/questions/20040141/ansible-command-from-inside-virtualenv

Is this something we want to support ?

huard commented 6 years ago

In http://ansible-wps-playbook.readthedocs.io/en/latest/testing.html#docker Where is the demo/ folder ?

huard commented 6 years ago

Otherwise the docker install works like a charm.

cehbrecht commented 6 years ago

@huard Thanks for review :)

I have cleaned up the docs (there is no demo) and added become: yes to the playbook.

The virtualenv would be an alternative to a conda env?

The idea of the Ansible playbook is to install the PyWPS app with dependencies in a Conda environment. Ansible, miniconda, nginx, supervisor, ... are installed in the system. Unlike with the buildout set-up "sudo" privileges are required. But the birds can still be used without Ansible for demo and development with the familiar "make clean install start" step, just relying on Conda and Werkzeug.

tomLandry commented 6 years ago

Wow that retroaction loop is tight. Love to see that, great work both of you.

huard commented 6 years ago

I meant conda env, not virtualenv. Sorry.

I also tried to make install and that still works fine.

Got it, so really geared toward containerization. Makes sense.

I know nothing about ansible, but is it good practice to set member:true to the whole playbook or it should split between system and user content ? Again, maybe irrelevant for docker.

cehbrecht commented 6 years ago

The current ansible playbook is only meant for system installation. I haven't really prepared a new docker deployment. Since we want to have micro-services and I can (hopefully) rely on configurable existing containers for nginx and postgres I might not need Ansible for a pywps container. I could just use a jinja template and an entrypoint.sh script to make it configurable.

huard commented 6 years ago
nilshempelmann commented 5 years ago

Documentation generation:

cehbrecht commented 5 years ago

done.