diff --git a/ansible/hosts-vagrant b/ansible/hosts-vagrant index b5a6604..7b27a61 100644 --- a/ansible/hosts-vagrant +++ b/ansible/hosts-vagrant @@ -1,7 +1,9 @@ [all:vars] warcs_dir=/vagrant/warcs -brozzler_pip_name='-e /brozzler' +# brozzler_pip_name='-e /brozzler' # not working anymore? :( +brozzler_pip_name='/brozzler' user=vagrant +ansible_python_interpreter=/usr/bin/python3 ### possible values for a prod deployment # brozzler_pip_name=brozzler # get it from pypi # brozzler_pip_name=git+https://github.com/internetarchive/brozzler.git#egg=brozzler diff --git a/ansible/roles/brozzler-dashboard/tasks/main.yml b/ansible/roles/brozzler-dashboard/tasks/main.yml index 42a7551..b341d1a 100644 --- a/ansible/roles/brozzler-dashboard/tasks/main.yml +++ b/ansible/roles/brozzler-dashboard/tasks/main.yml @@ -1,12 +1,12 @@ --- -- name: mkdir {{venv_root}}/brozzler-dashboard-ve34 - file: path={{venv_root}}/brozzler-dashboard-ve34 state=directory +- name: mkdir {{venv_root}}/brozzler-dashboard-ve3 + file: path={{venv_root}}/brozzler-dashboard-ve3 state=directory owner={{user}} become: true - name: install brozzler[dashboard] in virtualenv pip: name='{{brozzler_pip_name}}[dashboard]' - virtualenv={{venv_root}}/brozzler-dashboard-ve34 - virtualenv_python=python3.4 + virtualenv={{venv_root}}/brozzler-dashboard-ve3 + virtualenv_python=python3 extra_args='--no-input --upgrade --pre --cache-dir=/tmp/pip-cache' become: true become_user: '{{user}}' diff --git a/ansible/roles/brozzler-dashboard/templates/brozzler-dashboard.conf.j2 b/ansible/roles/brozzler-dashboard/templates/brozzler-dashboard.conf.j2 index cd8e8e0..7a8f0bb 100644 --- a/ansible/roles/brozzler-dashboard/templates/brozzler-dashboard.conf.j2 +++ b/ansible/roles/brozzler-dashboard/templates/brozzler-dashboard.conf.j2 @@ -3,8 +3,7 @@ description "brozzler-dashboard" start on runlevel [2345] stop on runlevel [!2345] -env PYTHONPATH={{venv_root}}/brozzler-dashboard-ve34/lib/python3.4/site-packages -env PATH={{venv_root}}/brozzler-dashboard-ve34/bin:/usr/bin:/bin +env PATH={{venv_root}}/brozzler-dashboard-ve3/bin:/usr/bin:/bin env LC_ALL=C.UTF-8 env WAYBACK_BASEURL=http://{{groups['pywb'][0]}}:8880/brozzler diff --git a/ansible/roles/brozzler-worker/tasks/main.yml b/ansible/roles/brozzler-worker/tasks/main.yml index deb7a92..bd9512a 100644 --- a/ansible/roles/brozzler-worker/tasks/main.yml +++ b/ansible/roles/brozzler-worker/tasks/main.yml @@ -9,8 +9,14 @@ become: true apt: name={{item}} state=present with_items: - - vnc4server - chromium-browser + - vnc4server + - libjpeg-turbo8-dev + - zlib1g-dev + - gcc + - python3-dev + - python3-dbg + - adobe-flashplugin - xfonts-base - fonts-arphic-bkai00mp - fonts-arphic-bsmi00lp @@ -24,28 +30,21 @@ - fonts-sil-padauk - fonts-unfonts-extra - fonts-unfonts-core - - ttf-indic-fonts + - fonts-indic - fonts-thai-tlwg - fonts-lklug-sinhala - - git - - libjpeg-turbo8-dev - - zlib1g-dev - - gcc - - g++ - - libpython3.4-dev - - adobe-flashplugin - name: install Xvnc upstart config /etc/init/Xvnc.conf template: src=templates/Xvnc.conf.j2 dest=/etc/init/Xvnc.conf become: true notify: - restart Xvnc -- name: mkdir {{venv_root}}/websockify-ve34 +- name: mkdir {{venv_root}}/websockify-ve3 become: true - file: path={{venv_root}}/websockify-ve34 state=directory owner={{user}} + file: path={{venv_root}}/websockify-ve3 state=directory owner={{user}} - name: install websockify in virtualenv pip: name=git+https://github.com/kanaka/websockify.git#egg=websockify - virtualenv={{venv_root}}/websockify-ve34 - virtualenv_python=python3.4 + virtualenv={{venv_root}}/websockify-ve3 + virtualenv_python=python3 extra_args='--no-input --upgrade --pre --cache-dir=/tmp/pip-cache' become: true become_user: '{{user}}' @@ -54,15 +53,15 @@ become: true notify: - restart vnc-websock -- name: mkdir {{venv_root}}/brozzler-ve34 +- name: mkdir {{venv_root}}/brozzler-ve3 become: true - file: path={{venv_root}}/brozzler-ve34 state=directory owner={{user}} + file: path={{venv_root}}/brozzler-ve3 state=directory owner={{user}} - name: install brozzler in virtualenv - pip: # name=git+https://github.com/internetarchive/brozzler.git#egg=brozzler - name='{{brozzler_pip_name}}' - virtualenv={{venv_root}}/brozzler-ve34 - virtualenv_python=python3.4 - extra_args='--no-input --upgrade --pre --cache-dir=/tmp/pip-cache' + pip: + name: '{{brozzler_pip_name}}' + virtualenv: '{{venv_root}}/brozzler-ve3' + virtualenv_python: python3 + extra_args: '--no-input --upgrade --pre --cache-dir=/tmp/pip-cache' become: true become_user: '{{user}}' notify: diff --git a/ansible/roles/brozzler-worker/templates/brozzler-worker.conf.j2 b/ansible/roles/brozzler-worker/templates/brozzler-worker.conf.j2 index 3fd73d6..5b9f711 100644 --- a/ansible/roles/brozzler-worker/templates/brozzler-worker.conf.j2 +++ b/ansible/roles/brozzler-worker/templates/brozzler-worker.conf.j2 @@ -4,8 +4,7 @@ start on runlevel [2345] stop on runlevel [!2345] env DISPLAY=:1 -env PATH={{venv_root}}/brozzler-ve34/bin:/usr/bin:/bin -env PYTHONPATH={{venv_root}}/brozzler-ve34/lib/python3.4/site-packages +env PATH={{venv_root}}/brozzler-ve3/bin:/usr/bin:/bin env LANG=C.UTF-8 setuid {{user}} diff --git a/ansible/roles/brozzler-worker/templates/vnc-websock.conf.j2 b/ansible/roles/brozzler-worker/templates/vnc-websock.conf.j2 index 2468bae..a26345d 100644 --- a/ansible/roles/brozzler-worker/templates/vnc-websock.conf.j2 +++ b/ansible/roles/brozzler-worker/templates/vnc-websock.conf.j2 @@ -7,8 +7,7 @@ setuid {{user}} console log -env PYTHONPATH={{venv_root}}/websockify-ve34/lib/python3.4/site-packages -env PATH={{venv_root}}/websockify-ve34/bin:/usr/bin:/bin +env PATH={{venv_root}}/websockify-ve3/bin:/usr/bin:/bin # port 8901 is hard-coded in brozzler/dashboard/static/partials/workers.html exec nice websockify 0.0.0.0:8901 localhost:5901 diff --git a/ansible/roles/common/tasks/main.yml b/ansible/roles/common/tasks/main.yml index 5942b86..2167ba1 100644 --- a/ansible/roles/common/tasks/main.yml +++ b/ansible/roles/common/tasks/main.yml @@ -18,22 +18,22 @@ # this clause is a workaround for travis-ci, which only wants to install in /usr # see https://travis-ci.org/internetarchive/brozzler/builds/174338601 -# but it complains that /usr/lib/python3.4/site-packages doesn't exist +# but it complains that /usr/lib/python3.5/site-packages doesn't exist # see https://travis-ci.org/internetarchive/brozzler/builds/174094831 - file: path={{item}} state=directory with_items: - - /usr/lib/python3.4/site-packages - - /usr/lib/python3.4/dist-packages + - /usr/lib/python3.5/site-packages + - /usr/lib/python3.5/dist-packages become: true - name: run "python3 setup.py install" in /tmp/pip-9.0.1 command: python3 setup.py install chdir=/tmp/pip-9.0.1 - creates=/usr/local/lib/python3.4/dist-packages/pip-9.0.1-py3.4.egg/pip/__init__.py + creates=/usr/local/lib/python3.5/dist-packages/pip-9.0.1-py3.5.egg/pip/__init__.py become: true - name: run "pip install virtualenv" command: pip install virtualenv - creates=/usr/local/lib/python3.4/dist-packages/virtualenv.py + creates=/usr/local/lib/python3.5/dist-packages/virtualenv.py become: true - command: id {{user}} register: id_user diff --git a/ansible/roles/pywb/tasks/main.yml b/ansible/roles/pywb/tasks/main.yml index 16b9ea7..7ffe49c 100644 --- a/ansible/roles/pywb/tasks/main.yml +++ b/ansible/roles/pywb/tasks/main.yml @@ -1,13 +1,13 @@ --- -- name: mkdir {{venv_root}}/pywb-ve34 - file: path={{venv_root}}/pywb-ve34 state=directory +- name: mkdir {{venv_root}}/pywb-ve3 + file: path={{venv_root}}/pywb-ve3 state=directory owner={{user}} become: true - name: install pywb in virtualenv pip: name=pywb version=0.33.2 - virtualenv={{venv_root}}/pywb-ve34 - virtualenv_python=python3.4 + virtualenv={{venv_root}}/pywb-ve3 + virtualenv_python=python3 extra_args='--no-input --upgrade --pre --cache-dir=/tmp/pip-cache' become: true become_user: '{{user}}' @@ -15,8 +15,8 @@ - restart pywb - name: install brozzler in pywb virtualenv pip: name='{{brozzler_pip_name}}' - virtualenv={{venv_root}}/pywb-ve34 - virtualenv_python=python3.4 + virtualenv={{venv_root}}/pywb-ve3 + virtualenv_python=python3 extra_args='--no-input --upgrade --pre --cache-dir=/tmp/pip-cache' become: true become_user: '{{user}}' diff --git a/ansible/roles/pywb/templates/pywb.conf.j2 b/ansible/roles/pywb/templates/pywb.conf.j2 index c2cc89e..6b3450c 100644 --- a/ansible/roles/pywb/templates/pywb.conf.j2 +++ b/ansible/roles/pywb/templates/pywb.conf.j2 @@ -3,12 +3,10 @@ description "pywb" start on runlevel [2345] stop on runlevel [!2345] -env PYTHONPATH={{venv_root}}/pywb-ve34/lib/python3.4/site-packages -env PATH={{venv_root}}/pywb-ve34/bin:/usr/bin:/bin env PYWB_CONFIG_FILE=/etc/pywb.yml setuid {{user}} console log -exec nice brozzler-wayback +exec nice {{venv_root}}/pywb-ve3/bin/python {{venv_root}}/pywb-ve3/bin/brozzler-wayback diff --git a/ansible/roles/warcprox/tasks/main.yml b/ansible/roles/warcprox/tasks/main.yml index be53dc5..74e8c59 100644 --- a/ansible/roles/warcprox/tasks/main.yml +++ b/ansible/roles/warcprox/tasks/main.yml @@ -4,19 +4,18 @@ apt: name={{item}} state=present with_items: - gcc - - python3.4 - - libpython3.4-dev + - python3-dev - libffi-dev - libssl-dev - tor - git -- name: mkdir {{venv_root}}/warcprox-ve34 +- name: mkdir {{venv_root}}/warcprox-ve3 become: true - file: path={{venv_root}}/warcprox-ve34 state=directory owner={{user}} + file: path={{venv_root}}/warcprox-ve3 state=directory owner={{user}} - name: install warcprox in virtualenv pip: name=git+https://github.com/internetarchive/warcprox.git#egg=warcprox - virtualenv={{venv_root}}/warcprox-ve34 - virtualenv_python=python3.4 + virtualenv={{venv_root}}/warcprox-ve3 + virtualenv_python=python3 extra_args='--no-input --upgrade --pre --cache-dir=/tmp/pip-cache' become: true become_user: '{{user}}' diff --git a/ansible/roles/warcprox/templates/warcprox.conf.j2 b/ansible/roles/warcprox/templates/warcprox.conf.j2 index 4d9a33d..61f36ba 100644 --- a/ansible/roles/warcprox/templates/warcprox.conf.j2 +++ b/ansible/roles/warcprox/templates/warcprox.conf.j2 @@ -3,9 +3,6 @@ description "warcprox" start on runlevel [2345] stop on runlevel [!2345] -env PYTHONPATH={{venv_root}}/warcprox-ve34/lib/python3.4/site-packages -env PATH={{venv_root}}/warcprox-ve34/bin:/usr/bin:/bin - # by default warcprox creates some files/dirs relative to cwd chdir {{work_dir}} setuid {{user}} @@ -13,7 +10,7 @@ setuid {{user}} console log # --profile -exec nice warcprox \ +exec nice {{venv_root}}/warcprox-ve3/bin/python {{venv_root}}/warcprox-ve3/bin/warcprox \ --address=0.0.0.0 \ --dir={{warcs_dir}} \ --base32 \