run chrono and combo in python3 (#36894)

This commit is contained in:
Emmanuel Cazenave 2019-11-26 17:51:35 +01:00
parent 23133f9888
commit 07984a871d
19 changed files with 95 additions and 31 deletions

View File

@ -1,10 +1,13 @@
---
- hosts: local
tasks:
- name: delete venv
- name: delete python venvs
file:
path: "{{venv}}"
path: "{{item}}"
state: absent
loop:
- "{{venv}}"
- "{{venv_py3}}"
- name: delete app /var/lib directory
file:

View File

@ -8,6 +8,7 @@ src_dir: "/home/{{user}}/src"
ssl_certificate: "{{venv_certs}}/dev.publik.love-fullchain.pem"
ssl_certificate_key: "{{venv_certs}}/dev.publik.love-privkey.pem"
venv: "/home/{{user}}/envs/publik-env"
venv_py3: "/home/{{user}}/envs/publik-env-py3"
user: your_user_name
apps:
authentic:

View File

@ -18,7 +18,8 @@
vars:
themes_dir: "{{venv}}/themes"
venv_bin: "{{venv}}/bin"
venv_py3_bin: "{{venv_py3}}/bin"
venv_certs: "{{venv}}/certs"
venv_pip: "{{venv_bin}}/pip"
venv_python: "{{venv_bin}}/python"
venv_py3_python: "{{venv_py3_bin}}/python"
venv_share: "{{venv}}/share"

View File

@ -20,9 +20,9 @@
name: django
version: "{{ django_version}}"
extra_args: "-e {{ repo_dir }}"
virtualenv: "{{ venv }}"
virtualenv: "{{ virtualenv }}"
- name: "build {{ repo_dir }}"
command: "{{ venv_python }} setup.py build"
command: "{{ virtualenv }}/bin/python setup.py build"
args:
chdir: "{{ repo_dir }}"

View File

@ -2,7 +2,7 @@
set_fact:
app_settings: "{{publik_settings}}/{{project_name}}/settings.py"
app_settings_dir: "{{publik_settings}}/{{project_name}}"
manage_app_bin: "{{venv_bin}}/{{project_name}}-manage"
manage_app_bin: "{{virtualenv}}/bin/{{project_name}}-manage"
server_app_name: "{{project_name}}"
- name: "{{app_name}} - create db"
@ -90,7 +90,7 @@
- name: "{{app_name}} - server script"
template:
src: app-server.j2
dest: "{{venv_bin}}/{{server_app_name}}-server"
dest: "{{virtualenv}}/bin/{{server_app_name}}-server"
mode: "u=rwx,g=rx,o=rx"
- name: "{{app_name}} - server log directory"

View File

@ -6,11 +6,13 @@
import glob
import os
from django.utils import six
{% block app_custom_before %}{% endblock %}
PROJECT_NAME = "{{project_name}}"
execfile('{{src_dir}}/hobo/debian/debian_config_common.py')
exec(open('{{src_dir}}/hobo/debian/debian_config_common.py').read())
THEMES_DIRECTORY = '{{themes_dir}}'
@ -49,4 +51,4 @@ DEBUG = True
for filename in sorted(
glob.glob(os.path.join('{{app_settings_dir}}', 'settings.d', '*.py'))):
execfile(filename)
exec(open(filename).read())

View File

@ -8,3 +8,4 @@ nginx_template_name: "std-nginx-server.j2"
project_name: "{{apps['authentic']['project_name']}}"
server_port: "{{apps['authentic']['server_port']}}"
settings_env_var: AUTHENTIC2_SETTINGS_FILE
virtualenv: "{{venv}}"

View File

@ -41,16 +41,23 @@
become: yes
become_user: postgres
- name: create the virtualenv and install django
- name: create the virtualenvs and install django
pip:
name: django
version: "{{django_version}}"
virtualenv: "{{venv}}"
virtualenv: "{{item.venv}}"
virtualenv_python: "{{item.venv_python}}"
loop:
- { venv: '{{venv}}', venv_python: 'python2' }
- { venv: '{{venv_py3}}', venv_python: 'python3' }
- name: install django-debug-toolbar
pip:
name: django-debug-toolbar
virtualenv: "{{venv}}"
virtualenv: "{{item}}"
loop:
- "{{venv}}"
- "{{venv_py3}}"
- name: "create {{src_dir}} directory"
file:
@ -79,49 +86,78 @@
path: "{{publik_settings}}"
state: directory
- name: create getlasso script
- name: create getlasso scripts
template:
src: getlasso.j2
dest: "{{venv_bin}}/getlasso.sh"
dest: "{{item.dest}}/getlasso.sh"
mode: "u=rwx,g=rx,o=rx"
vars:
virtualenv_python: "{{item.vp}}"
system_python: "{{item.sp}}"
loop:
- { vp: '{{venv_python}}', sp: '/usr/bin/python', dest: '{{venv_bin}}' }
- { vp: '{{venv_py3_python}}', sp: '/usr/bin/python3', dest: '{{venv_py3_bin}}' }
- name: execute getlasso
command: "{{venv_bin}}/getlasso.sh"
command: "{{item}}/getlasso.sh"
loop:
- "{{venv_bin}}"
- "{{venv_py3_bin}}"
- name: source install eopayment
import_tasks: install_source.yml
include_tasks: install_source.yml
vars:
repo: "eopayment"
repo_dir: "{{ src_dir }}/eopayment"
virtualenv: "{{venv_py3}}"
- name: source install django-tenant-schemas
import_tasks: install_source.yml
include_tasks: install_source.yml
vars:
repo: "debian/django-tenant-schemas"
repo_dir: "{{ src_dir }}/django-tenant-schemas"
virtualenv: "{{item}}"
loop:
- "{{venv}}"
- "{{venv_py3}}"
- name: source install django-mellon
import_tasks: install_source.yml
include_tasks: install_source.yml
vars:
repo: "django-mellon"
repo_dir: "{{ src_dir }}/django-mellon"
virtualenv: "{{item}}"
loop:
- "{{venv}}"
- "{{venv_py3}}"
- name: source install gadjo
import_tasks: install_source.yml
include_tasks: install_source.yml
vars:
repo: "gadjo"
repo_dir: "{{ src_dir }}/gadjo"
virtualenv: "{{item}}"
loop:
- "{{venv}}"
- "{{venv_py3}}"
- name: install python-memcached
pip:
name: python-memcached
virtualenv: "{{venv}}"
virtualenv: "{{item}}"
loop:
- "{{venv}}"
- "{{venv_py3}}"
- name: source install django-ckeditor
import_tasks: install_source.yml
include_tasks: install_source.yml
vars:
repo: "debian/django-ckeditor"
repo_dir: "{{ src_dir }}/django-ckeditor"
virtualenv: "{{item}}"
loop:
- "{{venv}}"
- "{{venv_py3}}"
- name: install theme
import_tasks: tasks/install_theme.yml

View File

@ -1,9 +1,9 @@
#!/bin/sh
# Get venv site-packages path
DSTDIR=`{{venv_python}} -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())'`
DSTDIR=`{{virtualenv_python}} -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())'`
SRCDIR=`/usr/bin/python -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())'`
SRCDIR=`{{system_python}} -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())'`
# Clean up
rm -f $DSTDIR/lasso.*

View File

@ -8,3 +8,4 @@ nginx_template_name: "std-nginx-server.j2"
project_name: "{{apps['bijoe']['project_name']}}"
server_port: "{{apps['bijoe']['server_port']}}"
settings_env_var: BIJOE_SETTINGS_FILE
virtualenv: "{{venv}}"

View File

@ -2,9 +2,10 @@ app_name: chrono
compile_scss: false
compile_translations: true
db_name: "{{apps['chrono']['db_name']}}"
manage_cmd: "{{venv_python}} {{src_dir}}/chrono/manage.py"
manage_cmd: "{{venv_py3_python}} {{src_dir}}/chrono/manage.py"
nginx_host_pattern: "{{apps['chrono']['nginx_host_pattern']}}"
nginx_template_name: "chrono-nginx-server.j2"
project_name: "{{apps['chrono']['project_name']}}"
server_port: "{{apps['chrono']['server_port']}}"
settings_env_var: CHRONO_SETTINGS_FILE
virtualenv: "{{venv_py3}}"

View File

@ -2,9 +2,10 @@ app_name: combo
compile_scss: false
compile_translations: true
db_name: "{{apps['combo']['db_name']}}"
manage_cmd: "{{venv_python}} {{src_dir}}/combo/manage.py"
manage_cmd: "{{venv_py3_python}} {{src_dir}}/combo/manage.py"
nginx_host_pattern: "{{apps['combo']['nginx_host_pattern']}}"
nginx_template_name: "std-nginx-server.j2"
project_name: "{{apps['combo']['project_name']}}"
server_port: "{{apps['combo']['server_port']}}"
settings_env_var: COMBO_SETTINGS_FILE
virtualenv: "{{venv_py3}}"

View File

@ -8,3 +8,4 @@ nginx_template_name: "fargo-nginx-server.j2"
project_name: "{{apps['fargo']['project_name']}}"
server_port: "{{apps['fargo']['server_port']}}"
settings_env_var: FARGO_SETTINGS_FILE
virtualenv: "{{venv}}"

View File

@ -1,3 +1,4 @@
#jinja2: lstrip_blocks: True, trim_blocks: True
BROKER_URL = 'amqp://'
@ -8,11 +9,18 @@ AGENT_HOST_PATTERNS = {
}
{% for appkey, app in apps.items() %}
{% if appkey != 'wcs' %}
{% filter upper %}{{appkey}}{% endfilter %}_MANAGE_COMMAND = "{{venv_bin}}/{{app['project_name']}}-manage"
{% filter upper %}{{appkey}}{% endfilter %}_MANAGE_TRY_COMMAND = {% filter upper %}{{appkey}}{% endfilter %}_MANAGE_COMMAND
{% else %}
{% if appkey == 'wcs' %}
WCS_MANAGE_COMMAND = "{{venv_bin}}/wcsctl.py -f {{publik_settings}}/wcs/wcs.cfg"
WCS_MANAGE_TRY_COMMAND = "{{venv_bin}}/wcsctl.py"
{% endif %}
{% else %}
{% if appkey in ('combo', 'chrono') %}
{# applications en python3 #}
{% filter upper %}{{appkey}}{% endfilter %}_MANAGE_COMMAND = "{{venv_py3_bin}}/{{app['project_name']}}-manage"
{% else %}
{# cas général, applications Django toutjours en python2, devra disparaître #}
{% filter upper %}{{appkey}}{% endfilter %}_MANAGE_COMMAND = "{{venv_bin}}/{{app['project_name']}}-manage"
{% endif %}
{% filter upper %}{{appkey}}{% endfilter %}_MANAGE_TRY_COMMAND = {% filter upper %}{{appkey}}{% endfilter %}_MANAGE_COMMAND
{% endif %}
{% endfor %}

View File

@ -1,8 +1,12 @@
- name: source install hobo
import_tasks: install_source.yml
include_tasks: install_source.yml
vars:
repo: "hobo"
repo_dir: "{{ src_dir }}/hobo"
virtualenv: "{{item}}"
loop:
- "{{venv}}"
- "{{venv_py3}}"
- name: hobo app setup
import_role:

View File

@ -8,3 +8,4 @@ nginx_template_name: "std-nginx-server.j2"
project_name: "{{apps['hobo']['project_name']}}"
server_port: "{{apps['hobo']['server_port']}}"
settings_env_var: HOBO_SETTINGS_FILE
virtualenv: "{{venv}}"

View File

@ -8,3 +8,4 @@ nginx_template_name: "std-nginx-server.j2"
project_name: "{{apps['passerelle']['project_name']}}"
server_port: "{{apps['passerelle']['server_port']}}"
settings_env_var: PASSERELLE_SETTINGS_FILE
virtualenv: "{{venv}}"

View File

@ -9,3 +9,4 @@ nginx_template_name: "wcs-nginx-server.j2"
project_name: "{{apps['wcs']['project_name']}}"
server_port: "{{apps['wcs']['server_port']}}"
settings_env_var: WCS_SETTINGS_FILE
virtualenv: "{{venv}}"

View File

@ -8,3 +8,4 @@ nginx_template_name: "welco-nginx-server.j2"
project_name: "{{apps['welco']['project_name']}}"
server_port: "{{apps['welco']['server_port']}}"
settings_env_var: WELCO_SETTINGS_FILE
virtualenv: "{{venv}}"