{% from 'gnuviechadmin/vars.sls' import home, gva_component, gva_amqp_user, checkout, appdir, venv %} gva.local: host.present: - ip: 172.16.3.2 - names: - mq - gva.local gvaldap.local: host.present: - ip: 172.16.3.3 gvafile.local: host.present: - ip: 172.16.3.4 gvaweb.local: host.present: - ip: 172.16.3.5 gvamysql.local: host.present: - ip: 172.16.3.6 gvapgsql.local: host.present: - ip: 172.16.3.7 gnuviechadmin-packages: pkg.installed: - pkgs: - libyaml-dev - python-virtualenv - python-dev - python-pip - gettext {{ home }}/gvasettings.sh: file.managed: - user: vagrant - group: vagrant - mode: 0640 - source: salt://gnuviechadmin/{{ gva_component }}/settings.sh - template: jinja - context: broker_url: {{ 'amqp://%s:%s@mq/%s' % (gva_amqp_user, salt['pillar.get']('gnuviechadmin:queues:users:%s:password' % gva_amqp_user), salt['pillar.get']('gnuviechadmin:queues:vhost')) }} gnuviechadmin-venv: cmd.run: - name: virtualenv {{ venv }} - user: vagrant - group: vagrant - unless: test -f {{ venv }}/bin/pip gnuviechadmin-requires: cmd.run: - name: {{ venv }}/bin/pip install -U -r requirements/local.txt && touch {{ venv }}/lastinstall - user: vagrant - group: vagrant - cwd: {{ checkout }} - require: - cmd: gnuviechadmin-venv - 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 - group: vagrant - mode: 0644 - source: salt://base/bash_functions - template: jinja - context: home: {{ home }} venv: {{ venv }} appdir: {{ appdir }}