bgruening / docker-galaxy

:whale::bar_chart::books: Docker Images tracking the stable Galaxy releases.
http://bgruening.github.io/docker-galaxy
MIT License
226 stars 134 forks source link

"Build the compose containers" failed to create tags-for-compose-to-source.sh #479

Closed eschen42 closed 5 years ago

eschen42 commented 5 years ago

I am trying to experiment with galaxy compose, but when I do a fresh pull and run:

sudo ./build-orchestration-images.sh --no-push --condor --grafana --slurm --k8s > transcript.txt 2>&1

I don't see tags-for-compose-to-source.sh and I get the warning:

[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'

followed by the error:

The command '/bin/sh -c ansible-playbook /ansible/provision.yml . . . returned a non-zero code: 2

I have attached the transcript. transcript.txt

eschen42 commented 5 years ago

My experience with buildlocal.sh was very similar buildlocal_transcript.txt

pcm32 commented 5 years ago

Issue seems to be:

[localhost]: FAILED! => {"changed": false, "cmd": ["/export/venv/bin/pip2", "install", "--extra-index-url", "https://wheels.galaxyproject.org/", "uwsgi==2.0.15"], "msg": "stdout: Looking in indexes: https://pypi.org/simple, https://wheels.galaxyproject.org/\nCollecting uwsgi==2.0.15\n\n:stderr: DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.\nCould not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/home/galaxy/.cache/pip/wheels/a7/43/35/681635009275a1eeb3b28b47a417a9417985bb617021a6b290'\nConsider using the `--user` option or check the permissions.\n\n"}

maybe there is an upstream version issue with pip. Did you try the same pip install locally on a virtualenv to see if it is working? Weird though that you get a permission denied error....

pcm32 commented 5 years ago

mmmm.... locally on a virtualenv it works for me....

eschen42 commented 5 years ago

Because the virtualenv did not seem to exist at the time of failure, we went into the container and modified /ansible/galaxyprojectdotorg.galaxyextras/tasks/main.yml, prepending

- include: virtualenv.yml
  tags:
    - uwsgi

Then we added /ansible/galaxyprojectdotorg.galaxyextras/tasks/virtualenv.yml as:

---

# Having pip installed on  can break upgrading it, so we install
# once with  set (in case it's needed for virtualenv) and then once
# the venv is created we upgrade pip with  unset

- name: Create Galaxy virtualenv
  pip:
    name: pip
    virtualenv: "{{ galaxy_venv_dir }}"
    extra_args: "{{ pip_extra_args | default('') }}"
    virtualenv_command: "{{ pip_virtualenv_command | default('virtualenv') }}"
    virtualenv_python: python2.7
  environment:
    VIRTUAL_ENV: "{{ galaxy_venv_dir }}"

- name: Ensure pip is the latest release
  pip:
    name: pip
    state: latest
    extra_args: "{{ pip_extra_args | default('') }}"
    virtualenv: "{{ galaxy_venv_dir }}"
    virtualenv_command: "{{ pip_virtualenv_command | default('virtualenv') }}"
  environment:
    PYTHONPATH: null
    VIRTUAL_ENV: "{{ galaxy_venv_dir }}"

Then the uwsgi install succeeded without error.

pcm32 commented 5 years ago

The virtualenv is normally created in the container before the ansible part I think.. maybe it got removed by mistake in a recent merge...

eschen42 commented 5 years ago

(gleep) any more thoughts about this issue? I just reproduced this issue after doing git pull

zph001 commented 5 years ago

This is no longer a problem with 19.01 @bgruening has done a great job.

bgruening commented 5 years ago

Cool thanks for reporting back. I'm sure someone from the community fixed that :)