From 7ec29b9ce2b4f4235d7b2b2bbdae0b429e771951 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 6 Feb 2016 14:23:05 +0100 Subject: [PATCH] Make gvafile deployment work This commit refactors to gnuviechadmin.base state by moving the Django specific parts into gnuviechadmin.django that is now used by gnuviechadmin.gvaldap and gnuviechadmin.webinterface. The script templates gnuviechadmin/gvafile/run_celery.sh and gnuviechadmin/gvafile/settings.sh have been added. --- states/gnuviechadmin/base.sls | 21 --------------------- states/gnuviechadmin/django.sls | 22 ++++++++++++++++++++++ states/gnuviechadmin/gvafile/run_celery.sh | 7 +++++++ states/gnuviechadmin/gvafile/settings.sh | 7 +++++++ states/gnuviechadmin/gvaldap.sls | 1 + states/gnuviechadmin/webinterface.sls | 1 + 6 files changed, 38 insertions(+), 21 deletions(-) create mode 100644 states/gnuviechadmin/django.sls create mode 100644 states/gnuviechadmin/gvafile/run_celery.sh create mode 100644 states/gnuviechadmin/gvafile/settings.sh diff --git a/states/gnuviechadmin/base.sls b/states/gnuviechadmin/base.sls index 161ad0f..8e22b87 100644 --- a/states/gnuviechadmin/base.sls +++ b/states/gnuviechadmin/base.sls @@ -49,27 +49,6 @@ gnuviechadmin-requires: - pkg: gnuviechadmin-packages - unless: test -e {{ venv }}/lastinstall && test {{ checkout }}/requirements/local.txt -ot {{ venv }}/lastinstall && test {{ checkout }}/requirements/base.txt -ot {{ venv }}/lastinstall -gnuviechadmin-dbschema: - cmd.wait: - - name: . {{ home }}/gvasettings.sh ; unset LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME ; {{ venv }}/bin/python manage.py migrate --noinput - - user: vagrant - - group: vagrant - - cwd: {{ appdir }} - - watch: - - cmd: gnuviechadmin-requires - - file: {{ home }}/gvasettings.sh - -gnuviechadmin-locale-data-compile: - cmd.wait: - - name: . {{ home }}/gvasettings.sh ; {{ venv }}/bin/python {{ appdir }}/manage.py compilemessages - - user: vagrant - - group: vagrant - - cwd: {{ appdir }} - - require: - - pkg: gnuviechadmin-packages - - file: {{ home }}/gvasettings.sh - - cmd: gnuviechadmin-venv - /home/vagrant/.bash_functions: file.managed: - user: vagrant diff --git a/states/gnuviechadmin/django.sls b/states/gnuviechadmin/django.sls new file mode 100644 index 0000000..66125fc --- /dev/null +++ b/states/gnuviechadmin/django.sls @@ -0,0 +1,22 @@ +{% from 'gnuviechadmin/vars.sls' import home, appdir, venv %} + +gnuviechadmin-dbschema: + cmd.wait: + - name: . {{ home }}/gvasettings.sh ; unset LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME ; {{ venv }}/bin/python manage.py migrate --noinput + - user: vagrant + - group: vagrant + - cwd: {{ appdir }} + - watch: + - cmd: gnuviechadmin-requires + - file: {{ home }}/gvasettings.sh + +gnuviechadmin-locale-data-compile: + cmd.wait: + - name: . {{ home }}/gvasettings.sh ; {{ venv }}/bin/python {{ appdir }}/manage.py compilemessages + - user: vagrant + - group: vagrant + - cwd: {{ appdir }} + - require: + - pkg: gnuviechadmin-packages + - file: {{ home }}/gvasettings.sh + - cmd: gnuviechadmin-venv diff --git a/states/gnuviechadmin/gvafile/run_celery.sh b/states/gnuviechadmin/gvafile/run_celery.sh new file mode 100644 index 0000000..c7d0e33 --- /dev/null +++ b/states/gnuviechadmin/gvafile/run_celery.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -ex + +. {{ home }}/gvasettings.sh +cd {{ appdir }} +{{ virtualenv }}/bin/celery worker -A gvafile -Q file --loglevel=INFO diff --git a/states/gnuviechadmin/gvafile/settings.sh b/states/gnuviechadmin/gvafile/settings.sh new file mode 100644 index 0000000..425f337 --- /dev/null +++ b/states/gnuviechadmin/gvafile/settings.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +export GVAFILE_BROKER_URL='{{ broker_url }}' +export GVAFILE_RESULTS_REDIS_URL="redis://:{{ salt['pillar.get']('gnuviechadmin:redis_password') }}@{{ salt['pillar.get']('gnuviechadmin:redis_host') }}/0" +export GVAFILE_SFTP_DIRECTORY="{{ salt['pillar.get']('gnuviechadmin:sftp_directory') }}" +export GVAFILE_MAIL_DIRECTORY="{{ salt['pillar.get']('gnuviechadmin:mail_directory') }}" +export GVAFILE_SFTP_AUTHKEYS_DIRECTORY="{{ salt['pillar.get']('gnuviechadmin:sftp_authkeys_directory') }}" diff --git a/states/gnuviechadmin/gvaldap.sls b/states/gnuviechadmin/gvaldap.sls index d38fc8f..36906dc 100644 --- a/states/gnuviechadmin/gvaldap.sls +++ b/states/gnuviechadmin/gvaldap.sls @@ -1,5 +1,6 @@ include: - gnuviechadmin.base + - gnuviechadmin.django - gnuviechadmin.celery gvaldap-packages: diff --git a/states/gnuviechadmin/webinterface.sls b/states/gnuviechadmin/webinterface.sls index f94c060..5eb0c53 100644 --- a/states/gnuviechadmin/webinterface.sls +++ b/states/gnuviechadmin/webinterface.sls @@ -1,5 +1,6 @@ include: - gnuviechadmin.base + - gnuviechadmin.django - webserver libpq-dev: