Jan Dittberner
8396a0788d
This commit improves the salt setup of the Vagrant box: - Salt output is reduced to log level warning - Hosts entries are created for the internal IPs of all planned gva component VMs - .bashrc and a .bash_functions sourced from it are now managed for the vagrant user - the VM name has been changed to gva.local - recent salt versions do not depend on m2crypto anymore, therefore it is now installed before x509certificate functions are called - the rabbitmq_vhost for gva is now setup before any users are created because the previous implementation was broken with recent salt versions - the gnuviechadmin-locale-data-compile step has been simplified because Django 1.9's compilemessages takes care of recursive .mo file compilation - pillar data has been separated by role (especially queue permissions and credentials) - salt configuration is now unified with gvaldap
98 lines
2.6 KiB
Text
98 lines
2.6 KiB
Text
{% 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 }}
|