Commit 6838a94e by Clinton Blackburn

Merge pull request #2306 from edx/clintonb/ida-template-updates

Django IDA Template Updates
parents 5c1d71a9 91b348fb
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
# and a key being provided via NEWRELIC_LICENSE_KEY # and a key being provided via NEWRELIC_LICENSE_KEY
{{ role_name|upper }}_NEWRELIC_APPNAME: "{{ '{{ COMMON_ENVIRONMENT }}' }}-{{ '{{ COMMON_DEPLOYMENT }}' }}-{{ '{{' }} {{ role_name }}_service_name }}" {{ role_name|upper }}_NEWRELIC_APPNAME: "{{ '{{ COMMON_ENVIRONMENT }}' }}-{{ '{{ COMMON_DEPLOYMENT }}' }}-{{ '{{' }} {{ role_name }}_service_name }}"
{{ role_name|upper }}_PIP_EXTRA_ARGS: "-i {{ '{{ COMMON_PYPI_MIRROR_URL }}' }}" {{ role_name|upper }}_PIP_EXTRA_ARGS: "-i {{ '{{ COMMON_PYPI_MIRROR_URL }}' }}"
{{ role_name|upper }}_NGINX_PORT: "XXX" # TODO Change this!!! {{ role_name|upper }}_NGINX_PORT: XXX # TODO Change this!!!
{{ role_name|upper }}_DEFAULT_DB_NAME: '{{ role_name }}' {{ role_name|upper }}_DEFAULT_DB_NAME: '{{ role_name }}'
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
CONN_MAX_AGE: 60 CONN_MAX_AGE: 60
{{ role_name|upper }}_VERSION: "master" {{ role_name|upper }}_VERSION: "master"
{{ role_name|upper }}_DJANGO_SETTINGS_MODULE: "{{ role_name }}.settings.production"
{{ role_name|upper }}_LMS_URL_ROOT: 'http://127.0.0.1:8000'
{{ role_name|upper }}_SECRET_KEY: 'Your secret key here' {{ role_name|upper }}_SECRET_KEY: 'Your secret key here'
{{ role_name|upper }}_TIME_ZONE: 'UTC' {{ role_name|upper }}_TIME_ZONE: 'UTC'
...@@ -77,9 +79,12 @@ ...@@ -77,9 +79,12 @@
# vars are namespace with the module name. # vars are namespace with the module name.
# #
{{ role_name }}_role_name: {{ role_name }} {{ role_name }}_role_name: {{ role_name }}
{{ role_name|lower }}_venv_dir: "{{ '{{' }} {{ role_name|lower }}_home }}/venvs/{{ '{{' }} {{ role_name|lower }}_service_name }}"
{{ role_name }}_environment: {{ role_name }}_environment:
DJANGO_SETTINGS_MODULE: "{{ role_name }}.settings.production" DJANGO_SETTINGS_MODULE: "{{ '{{' }} {{ role_name|upper }}_DJANGO_SETTINGS_MODULE }}"
{{ role_name|upper }}_CFG: "{{ '{{' }} COMMON_CFG_DIR }}/{{ '{{' }} {{ role_name }}_service_name }}.yml" {{ role_name|upper }}_CFG: "{{ '{{' }} COMMON_CFG_DIR }}/{{ '{{' }} {{ role_name }}_service_name }}.yml"
PATH: "{{ '{{' }} {{ role_name|lower }}_venv_dir }}/bin:${PATH}"
{{ role_name }}_service_name: "{{ role_name }}" {{ role_name }}_service_name: "{{ role_name }}"
{{ role_name }}_user: "{{ '{{' }} {{ role_name }}_service_name }}" {{ role_name }}_user: "{{ '{{' }} {{ role_name }}_service_name }}"
...@@ -87,15 +92,14 @@ ...@@ -87,15 +92,14 @@
{{ role_name }}_code_dir: "{{ '{{' }} {{ role_name }}_home }}/{{ '{{' }} {{ role_name }}_service_name }}" {{ role_name }}_code_dir: "{{ '{{' }} {{ role_name }}_home }}/{{ '{{' }} {{ role_name }}_service_name }}"
{{ role_name }}_gunicorn_host: "127.0.0.1" {{ role_name }}_gunicorn_host: "127.0.0.1"
{{ role_name }}_gunicorn_port: "XXX" # TODO Change this!!! {{ role_name }}_gunicorn_port: XXX # TODO Change this!!!
{{ role_name }}_gunicorn_timeout: "300" {{ role_name }}_gunicorn_timeout: 300
{{ role_name }}_log_dir: "{{ '{{' }} COMMON_LOG_DIR }}/{{ '{{' }} {{ role_name }}_service_name }}" {{ role_name }}_log_dir: "{{ '{{' }} COMMON_LOG_DIR }}/{{ '{{' }} {{ role_name }}_service_name }}"
{{ role_name }}_requirements_base: "{{ '{{' }} {{ role_name }}_code_dir }}/requirements" {{ role_name }}_requirements_base: "{{ '{{' }} {{ role_name }}_code_dir }}/requirements"
{{ role_name }}_requirements: {{ role_name }}_requirements:
- production.txt - production.txt
- optional.txt
# #
......
...@@ -17,55 +17,55 @@ ...@@ -17,55 +17,55 @@
- name: add gunicorn configuration file - name: add gunicorn configuration file
template: template:
src: edx/app/{{ role_name }}/{{ role_name }}_gunicorn.py.j2 src: edx/app/{{ role_name }}/{{ role_name }}_gunicorn.py.j2
dest: {{ '{{' }} {{ role_name }}_home }}/{{ role_name }}_gunicorn.py dest: "{{ '{{' }} {{ role_name }}_home }}/{{ role_name }}_gunicorn.py"
sudo_user: "{{ '{{' }} {{ role_name }}_user }}" sudo_user: "{{ '{{' }} {{ role_name }}_user }}"
- name: install application requirements - name: install application requirements
pip: pip:
requirements: "{{ '{{' }} {{ role_name }}_requirements_base }}/{{ '{{' }} item }}" requirements: "{{ '{{' }} {{ role_name }}_requirements_base }}/{{ '{{' }} item }}"
virtualenv: "{{ '{{' }} {{ role_name }}_home }}/venvs/{{ '{{' }} {{ role_name }}_service_name }}" virtualenv: "{{ '{{' }} {{ role_name|lower }}_venv_dir }}"
state: present state: present
sudo_user: "{{ '{{' }} {{ role_name }}_user }}" sudo_user: "{{ '{{' }} {{ role_name }}_user }}"
with_items: {{ '{{' }} role_name }}_requirements with_items: "{{ '{{' }} {{ role_name }}_requirements }}"
- name: migrate - name: migrate
shell: > shell: >
chdir={{ '{{' }} {{ role_name }}_code_dir }} chdir={{ '{{' }} {{ role_name }}_code_dir }}
DB_MIGRATION_USER={{ '{{' }} COMMON_MYSQL_MIGRATE_USER }} DB_MIGRATION_USER={{ '{{' }} COMMON_MYSQL_MIGRATE_USER }}
DB_MIGRATION_PASS={{ '{{' }} COMMON_MYSQL_MIGRATE_PASS }} DB_MIGRATION_PASS={{ '{{' }} COMMON_MYSQL_MIGRATE_PASS }}
{{ '{{' }} {{ role_name }}_home }}/venvs/{{ '{{' }} {{ role_name }}_service_name }}/bin/python ./manage.py migrate --noinput {{ '{{' }} {{ role_name|lower }}_venv_dir }}/bin/python ./manage.py migrate --noinput
sudo_user: "{{ '{{' }} {{ role_name }}_user }}" sudo_user: "{{ '{{' }} {{ role_name }}_user }}"
environment: "{{ '{{' }} {{ role_name }}_environment }}" environment: "{{ '{{' }} {{ role_name }}_environment }}"
when: migrate_db is defined and migrate_db|lower == "yes" when: migrate_db is defined and migrate_db|lower == "yes"
- name: write out the supervisor wrapper - name: write out the supervisor wrapper
template: template:
src: edx/app/{{ role_name }}/{{ role_name }}.sh.j2 src: "edx/app/{{ role_name }}/{{ role_name }}.sh.j2"
dest: {{ '{{' }} {{ role_name }}_home }}/{{ '{{' }} {{ role_name }}_service_name }}.sh dest: "{{ '{{' }} {{ role_name }}_home }}/{{ '{{' }} {{ role_name }}_service_name }}.sh"
mode: 0650 mode: 0650
owner: {{ '{{' }} supervisor_user }} owner: "{{ '{{' }} supervisor_user }}"
group: {{ '{{' }} common_web_user }} group: "{{ '{{' }} common_web_user }}"
- name: write supervisord config - name: write supervisord config
template: template:
src: edx/app/supervisor/conf.d.available/{{ role_name }}.conf.j2 src: "edx/app/supervisor/conf.d.available/{{ role_name }}.conf.j2"
dest: "{{ '{{' }} supervisor_available_dir }}/{{ '{{' }} {{ role_name }}_service_name }}.conf" dest: "{{ '{{' }} supervisor_available_dir }}/{{ '{{' }} {{ role_name }}_service_name }}.conf"
owner: {{ '{{' }} supervisor_user }} owner: "{{ '{{' }} supervisor_user }}"
group: {{ '{{' }} common_web_user }} group: "{{ '{{' }} common_web_user }}"
mode: 0644 mode: 0644
- name: setup the {{ role_name }} env file - name: setup the {{ role_name }} env file
template: template:
src: "./{{ '{{' }} {{ role_name }}_home }}/{{ '{{' }} {{ role_name }}_service_name }}_env.j2" src: "./{{ '{{' }} {{ role_name }}_home }}/{{ '{{' }} {{ role_name }}_service_name }}_env.j2"
dest: "{{ '{{' }} {{ role_name }}_home }}/{{ role_name }}_env" dest: "{{ '{{' }} {{ role_name }}_home }}/{{ role_name }}_env"
owner: {{ '{{' }} {{ role_name }}_user }} owner: "{{ '{{' }} {{ role_name }}_user }}"
group: {{ '{{' }} {{ role_name }}_user }} group: "{{ '{{' }} {{ role_name }}_user }}"
mode: 0644 mode: 0644
- name: enable supervisor script - name: enable supervisor script
file: file:
src: {{ '{{' }} supervisor_available_dir }}/{{ '{{' }} {{ role_name }}_service_name }}.conf src: "{{ '{{' }} supervisor_available_dir }}/{{ '{{' }} {{ role_name }}_service_name }}.conf"
dest: {{ '{{' }} supervisor_cfg_dir }}/{{ '{{' }} {{ role_name }}_service_name }}.conf dest: "{{ '{{' }} supervisor_cfg_dir }}/{{ '{{' }} {{ role_name }}_service_name }}.conf"
state: link state: link
force: yes force: yes
when: not disable_edx_services when: not disable_edx_services
...@@ -74,9 +74,9 @@ ...@@ -74,9 +74,9 @@
shell: "{{ '{{' }} supervisor_ctl }} -c {{ '{{' }} supervisor_cfg }} update" shell: "{{ '{{' }} supervisor_ctl }} -c {{ '{{' }} supervisor_cfg }} update"
when: not disable_edx_services when: not disable_edx_services
- name: create symlinks from the-er venv bin dir - name: create symlinks from the venv bin dir
file: file:
src: "{{ '{{' }} {{ role_name }}_home }}/venvs/{{ '{{' }} {{ role_name }}_service_name }}/bin/{{ '{{' }} item }}" src: "{{ '{{' }} {{ role_name|lower }}_venv_dir }}/bin/{{ '{{' }} item }}"
dest: "{{ '{{' }} COMMON_BIN_DIR }}/{{ '{{' }} item.split('.')[0] }}.{{ role_name }}" dest: "{{ '{{' }} COMMON_BIN_DIR }}/{{ '{{' }} item.split('.')[0] }}.{{ role_name }}"
state: link state: link
with_items: with_items:
...@@ -92,11 +92,11 @@ ...@@ -92,11 +92,11 @@
with_items: with_items:
- manage.py - manage.py
- name: restart the applicaton - name: restart the application
supervisorctl: supervisorctl:
state: restarted state: restarted
supervisorctl_path: {{ '{{' }} supervisor_ctl }} supervisorctl_path: "{{ '{{' }} supervisor_ctl }}"
config: {{ '{{' }} supervisor_cfg }} config: "{{ '{{' }} supervisor_cfg }}"
name: {{ '{{' }} {{ role_name }}_service_name }} name: "{{ '{{' }} {{ role_name }}_service_name }}"
when: not disable_edx_services when: not disable_edx_services
sudo_user: "{{ '{{' }} supervisor_service_user }}" sudo_user: "{{ '{{' }} supervisor_service_user }}"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment