Commit e0207b5d by Feanil Patel

Revert "Revert "Feanil/ansible jinja2 everywhere""

parent 23f257f7
...@@ -31,14 +31,14 @@ ...@@ -31,14 +31,14 @@
tasks: tasks:
- name: edX configuration - name: edX configuration
cloudformation: > cloudformation: >
stack_name="$name" state=present stack_name="{{ name }}" state=present
region=$region disable_rollback=false region="{{ region }}" disable_rollback=false
template=../cloudformation_templates/edx-server-multi-instance.json template=../cloudformation_templates/edx-server-multi-instance.json
args: args:
template_parameters: template_parameters:
KeyName: $key KeyName: "{{key}}"
InstanceType: m1.small InstanceType: m1.small
GroupTag: $group GroupTag: "{{group}}"
register: stack register: stack
- name: show stack outputs - name: show stack outputs
debug: msg="My stack outputs are ${stack.stack_outputs}" debug: msg="My stack outputs are {{stack.stack_outputs}}"
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
# These should stay false for the public AMI # These should stay false for the public AMI
COMMON_ENABLE_DATADOG: False COMMON_ENABLE_DATADOG: False
COMMON_ENABLE_SPLUNKFORWARDER: False COMMON_ENABLE_SPLUNKFORWARDER: False
ENABLE_LEGACY_ORA: !!null
roles: roles:
- role: nginx - role: nginx
nginx_sites: nginx_sites:
...@@ -38,7 +39,8 @@ ...@@ -38,7 +39,8 @@
- elasticsearch - elasticsearch
- forum - forum
- { role: "xqueue", update_users: True } - { role: "xqueue", update_users: True }
- ora - role: ora
when: ENABLE_LEGACY_ORA
- certs - certs
- edx_ansible - edx_ansible
- role: datadog - role: datadog
......
{% for deployment, creds in ALTON_AWS_CREDENTIALS.iteritems() %} {% for deployment, creds in ALTON_AWS_CREDENTIALS.iteritems() %}
[profile {{deployment}}] [profile {{ deployment }}]
aws_access_key_id = {{ creds.access_id }} aws_access_key_id = {{ creds.access_id }}
aws_secret_access_key = {{ creds.secret_key }} aws_secret_access_key = {{ creds.secret_key }}
......
...@@ -41,14 +41,14 @@ analytics_auth_config: ...@@ -41,14 +41,14 @@ analytics_auth_config:
DATABASES: DATABASES:
analytics: analytics:
<<: *databases_default <<: *databases_default
USER: $AS_DB_ANALYTICS_USER USER: "{{ AS_DB_ANALYTICS_USER }}"
PASSWORD: $AS_DB_ANALYTICS_PASSWORD PASSWORD: "{{ AS_DB_ANALYTICS_PASSWORD }}"
HOST: $AS_DB_ANALYTICS_HOST HOST: "{{ AS_DB_ANALYTICS_HOST }}"
ANALYTICS_API_KEY: $AS_API_KEY ANALYTICS_API_KEY: "{{ AS_API_KEY }}"
ANALYTICS_RESULTS_DB: ANALYTICS_RESULTS_DB:
MONGO_URI: $AS_DB_RESULTS_URL MONGO_URI: "{{ AS_DB_RESULTS_URL }}"
MONGO_DB: $AS_DB_RESULTS_DB MONGO_DB: "{{ AS_DB_RESULTS_DB }}"
MONGO_STORED_QUERIES_COLLECTION: $AS_DB_RESULTS_COLLECTION MONGO_STORED_QUERIES_COLLECTION: "{{ AS_DB_RESULTS_COLLECTION }}"
as_role_name: "analytics-server" as_role_name: "analytics-server"
as_user: "analytics-server" as_user: "analytics-server"
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
accept_hostkey=yes accept_hostkey=yes
version={{ as_version }} force=true version={{ as_version }} force=true
environment: environment:
GIT_SSH: $as_git_ssh GIT_SSH: "{{ as_git_ssh }}"
notify: restart the analytics service notify: restart the analytics service
notify: start the analytics service notify: start the analytics service
tags: tags:
......
...@@ -34,14 +34,14 @@ analytics_auth_config: ...@@ -34,14 +34,14 @@ analytics_auth_config:
DATABASES: DATABASES:
analytics: analytics:
<<: *databases_default <<: *databases_default
USER: $ANALYTICS_DB_ANALYTICS_USER USER: "{{ ANALYTICS_DB_ANALYTICS_USER }}"
PASSWORD: $ANALYTICS_DB_ANALYTICS_PASSWORD PASSWORD: "{{ ANALYTICS_DB_ANALYTICS_PASSWORD }}"
HOST: $ANALYTICS_DB_ANALYTICS_HOST HOST: "{{ ANALYTICS_DB_ANALYTICS_HOST }}"
ANALYTICS_API_KEY: $ANALYTICS_API_KEY ANALYTICS_API_KEY: "{{ ANALYTICS_API_KEY }}"
ANALYTICS_RESULTS_DB: ANALYTICS_RESULTS_DB:
MONGO_URI: $ANALYTICS_DB_RESULTS_URL MONGO_URI: "{{ ANALYTICS_DB_RESULTS_URL }}"
MONGO_DB: $ANALYTICS_DB_RESULTS_DB MONGO_DB: "{{ ANALYTICS_DB_RESULTS_DB }}"
MONGO_STORED_QUERIES_COLLECTION: $ANALYTICS_DB_RESULTS_COLLECTION MONGO_STORED_QUERIES_COLLECTION: "{{ ANALYTICS_DB_RESULTS_COLLECTION }}"
analytics_role_name: "analytics" analytics_role_name: "analytics"
analytics_user: "analytics" analytics_user: "analytics"
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
accept_hostkey=yes accept_hostkey=yes
version={{ analytics_version }} force=true version={{ analytics_version }} force=true
environment: environment:
GIT_SSH: $analytics_git_ssh GIT_SSH: "{{ analytics_git_ssh }}"
notify: restart the analytics service notify: restart the analytics service
notify: start the analytics service notify: start the analytics service
tags: tags:
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
when: role_exists | success when: role_exists | success
- name: create role directories - name: create role directories
file: path=roles/{{role_name}}/{{ item }} state=directory file: path=roles/{{ role_name }}/{{ item }} state=directory
with_items: with_items:
- tasks - tasks
- meta - meta
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
- debug - debug
- name: Dump lms auth|env file - name: Dump lms auth|env file
template: src=../../edxapp/templates/lms.{{item}}.json.j2 dest=/tmp/lms.{{item}}.json mode=0600 template: src=../../edxapp/templates/lms.{{ item }}.json.j2 dest=/tmp/lms.{{ item }}.json mode=0600
with_items: with_items:
- env - env
- auth - auth
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
- debug - debug
- name: Dump lms-preview auth|env file - name: Dump lms-preview auth|env file
template: src=../../edxapp/templates/lms-preview.{{item}}.json.j2 dest=/tmp/lms-preview.{{item}}.json mode=0600 template: src=../../edxapp/templates/lms-preview.{{ item }}.json.j2 dest=/tmp/lms-preview.{{ item }}.json mode=0600
with_items: with_items:
- env - env
- auth - auth
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
- debug - debug
- name: Dump cms auth|env file - name: Dump cms auth|env file
template: src=../../edxapp/templates/cms.{{item}}.json.j2 dest=/tmp/cms.{{item}}.json mode=0600 template: src=../../edxapp/templates/cms.{{ item }}.json.j2 dest=/tmp/cms.{{ item }}.json mode=0600
with_items: with_items:
- env - env
- auth - auth
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
- name: fetch remote files - name: fetch remote files
# fetch is fail-safe for remote files that don't exist # fetch is fail-safe for remote files that don't exist
# setting mode is not an option # setting mode is not an option
fetch: src=/tmp/{{item}} dest=/tmp/{{ansible_hostname}}-{{item}} flat=True fetch: src=/tmp/{{ item }} dest=/tmp/{{ ansible_hostname }}-{{item}} flat=True
with_items: with_items:
- ansible.all.json - ansible.all.json
- ansible.all.yml - ansible.all.yml
......
...@@ -105,7 +105,7 @@ instance_id=$(ec2metadata --instance-id) ...@@ -105,7 +105,7 @@ instance_id=$(ec2metadata --instance-id)
ip=$(ec2metadata --local-ipv4) ip=$(ec2metadata --local-ipv4)
availability_zone=$(ec2metadata --availability-zone) availability_zone=$(ec2metadata --availability-zone)
# region isn't available via the metadata service # region isn't available via the metadata service
region=${availability_zone:0:${{lb}}#availability_zone{{rb}} - 1} region=${availability_zone:0:${{ lb }}#availability_zone{{ rb }} - 1}
s3_path="${2}/$sec_grp/" s3_path="${2}/$sec_grp/"
$noop {{ aws_s3cmd }} --multipart-chunk-size-mb 5120 --disable-multipart sync $directory "s3://${bucket_path}/${sec_grp}/${instance_id}-${ip}/" $noop {{ aws_s3cmd }} --multipart-chunk-size-mb 5120 --disable-multipart sync $directory "s3://${bucket_path}/${sec_grp}/${instance_id}-${ip}/"
...@@ -71,25 +71,25 @@ certs_env_config: ...@@ -71,25 +71,25 @@ certs_env_config:
# CERTS_DATA is legacy, not used # CERTS_DATA is legacy, not used
CERT_DATA: {} CERT_DATA: {}
QUEUE_NAME: "certificates" QUEUE_NAME: "certificates"
QUEUE_URL: $CERTS_QUEUE_URL QUEUE_URL: "{{ CERTS_QUEUE_URL }}"
CERT_BUCKET: $CERTS_BUCKET CERT_BUCKET: "{{ CERTS_BUCKET }}"
# gnupg signing key # gnupg signing key
CERT_KEY_ID: $CERTS_KEY_ID CERT_KEY_ID: "{{ CERTS_KEY_ID }}"
LOGGING_ENV: "" LOGGING_ENV: ""
CERT_GPG_DIR: $certs_gpg_dir CERT_GPG_DIR: "{{ certs_gpg_dir }}"
CERT_URL: $CERTS_URL CERT_URL: "{{ CERTS_URL }}"
CERT_DOWNLOAD_URL: $CERTS_DOWNLOAD_URL CERT_DOWNLOAD_URL: "{{ CERTS_DOWNLOAD_URL }}"
CERT_WEB_ROOT: $CERTS_WEB_ROOT CERT_WEB_ROOT: "{{ CERTS_WEB_ROOT }}"
COPY_TO_WEB_ROOT: $CERTS_COPY_TO_WEB_ROOT COPY_TO_WEB_ROOT: "{{ CERTS_COPY_TO_WEB_ROOT }}"
S3_UPLOAD: $CERTS_S3_UPLOAD S3_UPLOAD: "{{ CERTS_S3_UPLOAD }}"
CERT_VERIFY_URL: $CERTS_VERIFY_URL CERT_VERIFY_URL: "{{ CERTS_VERIFY_URL }}"
TEMPLATE_DATA_DIR: $CERTS_TEMPLATE_DATA_DIR TEMPLATE_DATA_DIR: "{{ CERTS_TEMPLATE_DATA_DIR }}"
certs_auth_config: certs_auth_config:
QUEUE_USER: $CERTS_QUEUE_USER QUEUE_USER: "{{ CERTS_QUEUE_USER }}"
QUEUE_PASS: $CERTS_QUEUE_PASS QUEUE_PASS: "{{ CERTS_QUEUE_PASS }}"
QUEUE_AUTH_USER: $CERTS_XQUEUE_AUTH_USER QUEUE_AUTH_USER: "{{ CERTS_XQUEUE_AUTH_USER }}"
QUEUE_AUTH_PASS: $CERTS_XQUEUE_AUTH_PASS QUEUE_AUTH_PASS: "{{ CERTS_XQUEUE_AUTH_PASS }}"
CERT_KEY_ID: $CERTS_KEY_ID CERT_KEY_ID: "{{ CERTS_KEY_ID }}"
CERT_AWS_ID: $CERTS_AWS_ID CERT_AWS_ID: "{{ CERTS_AWS_ID }}"
CERT_AWS_KEY: $CERTS_AWS_KEY CERT_AWS_KEY: "{{ CERTS_AWS_KEY }}"
...@@ -57,6 +57,6 @@ request subnet-mask, broadcast-address, time-offset, routers, ...@@ -57,6 +57,6 @@ request subnet-mask, broadcast-address, time-offset, routers,
#} #}
interface "eth0" { interface "eth0" {
prepend domain-search {% for search in COMMON_DHCLIENT_DNS_SEARCH -%}"{{search}}"{%- if not loop.last -%},{%- endif -%} prepend domain-search {% for search in COMMON_DHCLIENT_DNS_SEARCH -%}"{{ search }}"{%- if not loop.last -%},{%- endif -%}
{%- endfor -%}; {%- endfor -%};
} }
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
- datadog - datadog
- name: add apt key - name: add apt key
apt_key: id=C7A7DA52 url={{datadog_apt_key}} state=present apt_key: id=C7A7DA52 url={{ datadog_apt_key }} state=present
tags: tags:
- datadog - datadog
......
...@@ -30,6 +30,6 @@ demo_test_users: ...@@ -30,6 +30,6 @@ demo_test_users:
password: edx password: edx
demo_edxapp_user: 'edxapp' demo_edxapp_user: 'edxapp'
demo_edxapp_venv_bin: '{{COMMON_APP_DIR}}/{{demo_edxapp_user}}/venvs/{{demo_edxapp_user}}/bin' demo_edxapp_venv_bin: '{{ COMMON_APP_DIR }}/{{ demo_edxapp_user }}/venvs/{{demo_edxapp_user}}/bin'
demo_edxapp_course_data_dir: '{{COMMON_DATA_DIR}}/{{demo_edxapp_user}}/data' demo_edxapp_course_data_dir: '{{ COMMON_DATA_DIR }}/{{ demo_edxapp_user }}/data'
demo_edxapp_code_dir: '{{COMMON_APP_DIR}}/{{demo_edxapp_user}}/edx-platform' demo_edxapp_code_dir: '{{ COMMON_APP_DIR }}/{{ demo_edxapp_user }}/edx-platform'
...@@ -53,23 +53,23 @@ discern_env_config: ...@@ -53,23 +53,23 @@ discern_env_config:
discern_auth_config: discern_auth_config:
AWS_ACCESS_KEY_ID: $DISCERN_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID: "{{ DISCERN_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: $DISCERN_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY: "{{ DISCERN_SECRET_ACCESS_KEY }}"
BROKER_URL: $DISCERN_BROKER_URL BROKER_URL: "{{ DISCERN_BROKER_URL }}"
CACHES: CACHES:
default: default:
BACKEND: 'django.core.cache.backends.memcached.MemcachedCache' BACKEND: 'django.core.cache.backends.memcached.MemcachedCache'
LOCATION: $DISCERN_MEMCACHE LOCATION: "{{ DISCERN_MEMCACHE }}"
CELERY_RESULT_BACKEND: $DISCERN_RESULT_BACKEND CELERY_RESULT_BACKEND: "{{ DISCERN_RESULT_BACKEND }}"
DATABASES: DATABASES:
default: default:
ENGINE: django.db.backends.mysql ENGINE: django.db.backends.mysql
HOST: $DISCERN_MYSQL_HOST HOST: "{{ DISCERN_MYSQL_HOST }}"
NAME: $DISCERN_MYSQL_DB_NAME NAME: "{{ DISCERN_MYSQL_DB_NAME }}"
PASSWORD: $DISCERN_MYSQL_PASSWORD PASSWORD: "{{ DISCERN_MYSQL_PASSWORD }}"
PORT: $DISCERN_MYSQL_PORT PORT: "{{ DISCERN_MYSQL_PORT }}"
USER: $DISCERN_MYSQL_USER USER: "{{ DISCERN_MYSQL_USER }}"
GOOGLE_ANALYTICS_PROPERTY_ID: $DISCERN_GOOGLE_ANALYTICS_PROPERTY_ID GOOGLE_ANALYTICS_PROPERTY_ID: "{{ DISCERN_GOOGLE_ANALYTICS_PROPERTY_ID }}"
discern_debian_pkgs: discern_debian_pkgs:
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
#Numpy has to be a pre-requirement in order for scipy to build #Numpy has to be a pre-requirement in order for scipy to build
- name : install python pre-requirements for discern and ease - name : install python pre-requirements for discern and ease
pip: > pip: >
requirements={{item}} virtualenv={{ discern_venv_dir }} state=present requirements={{ item }} virtualenv={{ discern_venv_dir }} state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ discern_user }}" sudo_user: "{{ discern_user }}"
notify: notify:
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
- name : install python requirements for discern and ease - name : install python requirements for discern and ease
pip: > pip: >
requirements={{item}} virtualenv={{ discern_venv_dir }} state=present requirements={{ item }} virtualenv={{ discern_venv_dir }} state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ discern_user }}" sudo_user: "{{ discern_user }}"
notify: notify:
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
#support virtualenvs as of this comment #support virtualenvs as of this comment
- name: django syncdb migrate and collectstatic for discern - name: django syncdb migrate and collectstatic for discern
shell: > shell: >
{{ discern_venv_dir }}/bin/python {{discern_code_dir}}/manage.py {{item}} --noinput --settings={{discern_settings}} --pythonpath={{discern_code_dir}} {{ discern_venv_dir }}/bin/python {{ discern_code_dir }}/manage.py {{ item }} --noinput --settings={{discern_settings}} --pythonpath={{discern_code_dir}}
chdir={{ discern_code_dir }} chdir={{ discern_code_dir }}
sudo_user: "{{ discern_user }}" sudo_user: "{{ discern_user }}"
notify: notify:
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
#Have this separate from the other three because it doesn't take the noinput flag #Have this separate from the other three because it doesn't take the noinput flag
- name: django update_index for discern - name: django update_index for discern
shell: > shell: >
{{ discern_venv_dir}}/bin/python {{discern_code_dir}}/manage.py update_index --settings={{discern_settings}} --pythonpath={{discern_code_dir}} {{ discern_venv_dir}}/bin/python {{ discern_code_dir }}/manage.py update_index --settings={{ discern_settings }} --pythonpath={{discern_code_dir}}
chdir={{ discern_code_dir }} chdir={{ discern_code_dir }}
sudo_user: "{{ discern_user }}" sudo_user: "{{ discern_user }}"
notify: notify:
......
...@@ -9,9 +9,9 @@ stop on runlevel [!2345] ...@@ -9,9 +9,9 @@ stop on runlevel [!2345]
respawn respawn
respawn limit 3 30 respawn limit 3 30
env DJANGO_SETTINGS_MODULE={{discern_settings}} env DJANGO_SETTINGS_MODULE={{ discern_settings }}
chdir {{ discern_code_dir }} chdir {{ discern_code_dir }}
setuid {{discern_user}} setuid {{ discern_user }}
exec {{ discern_venv_dir }}/bin/python {{ discern_code_dir }}/manage.py celeryd --loglevel=info --settings={{ discern_settings }} --pythonpath={{ discern_code_dir }} -B --autoscale={{ ansible_processor_cores * 2 }},1 exec {{ discern_venv_dir }}/bin/python {{ discern_code_dir }}/manage.py celeryd --loglevel=info --settings={{ discern_settings }} --pythonpath={{ discern_code_dir }} -B --autoscale={{ ansible_processor_cores * 2 }},1
...@@ -106,7 +106,7 @@ EDXAPP_CAS_ATTRIBUTE_PACKAGE: "" ...@@ -106,7 +106,7 @@ EDXAPP_CAS_ATTRIBUTE_PACKAGE: ""
EDXAPP_ENABLE_AUTO_AUTH: false EDXAPP_ENABLE_AUTO_AUTH: false
# Settings for enabling and configuring third party authorization # Settings for enabling and configuring third party authorization
EDXAPP_ENABLE_THIRD_PARTY_AUTH: false EDXAPP_ENABLE_THIRD_PARTY_AUTH: false
EDXAPP_THIRD_PARTY_AUTH: "None" EDXAPP_THIRD_PARTY_AUTH: {}
EDXAPP_MODULESTORE_MAPPINGS: EDXAPP_MODULESTORE_MAPPINGS:
'preview\.': 'draft-preferred' 'preview\.': 'draft-preferred'
...@@ -281,12 +281,12 @@ EDXAPP_XML_FROM_GIT: false ...@@ -281,12 +281,12 @@ EDXAPP_XML_FROM_GIT: false
EDXAPP_XML_S3_BUCKET: !!null EDXAPP_XML_S3_BUCKET: !!null
EDXAPP_XML_S3_KEY: !!null EDXAPP_XML_S3_KEY: !!null
EDXAPP_NEWRELIC_LMS_APPNAME: "{{COMMON_ENVIRONMENT}}-{{COMMON_DEPLOYMENT}}-edxapp-lms" EDXAPP_NEWRELIC_LMS_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-edxapp-lms"
EDXAPP_NEWRELIC_CMS_APPNAME: "{{COMMON_ENVIRONMENT}}-{{COMMON_DEPLOYMENT}}-edxapp-cms" EDXAPP_NEWRELIC_CMS_APPNAME: "{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}-edxapp-cms"
EDXAPP_AWS_STORAGE_BUCKET_NAME: 'edxuploads' EDXAPP_AWS_STORAGE_BUCKET_NAME: 'edxuploads'
EDXAPP_ORA2_FILE_PREFIX: '{{COMMON_ENVIRONMENT}}-{{COMMON_DEPLOYMENT}}/ora2' EDXAPP_ORA2_FILE_PREFIX: '{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}/ora2'
EDXAPP_FILE_UPLOAD_STORAGE_BUCKET_NAME: '{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}' EDXAPP_FILE_UPLOAD_STORAGE_BUCKET_NAME: '{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}'
EDXAPP_FILE_UPLOAD_STORAGE_PREFIX: 'submissions_attachments' EDXAPP_FILE_UPLOAD_STORAGE_PREFIX: 'submissions_attachments'
...@@ -416,30 +416,30 @@ edxapp_all_req_files: ...@@ -416,30 +416,30 @@ edxapp_all_req_files:
# for lists and dictionaries # for lists and dictionaries
edxapp_environment: edxapp_environment:
LANG: $EDXAPP_LANG LANG: "{{ EDXAPP_LANG }}"
NO_PREREQ_INSTALL: $EDXAPP_NO_PREREQ_INSTALL NO_PREREQ_INSTALL: "{{ EDXAPP_NO_PREREQ_INSTALL }}"
SKIP_WS_MIGRATIONS: 1 SKIP_WS_MIGRATIONS: 1
RBENV_ROOT: $edxapp_rbenv_root RBENV_ROOT: "{{ edxapp_rbenv_root }}"
GEM_HOME: $edxapp_gem_root GEM_HOME: "{{ edxapp_gem_root }}"
GEM_PATH: $edxapp_gem_root GEM_PATH: "{{ edxapp_gem_root }}"
PATH: $edxapp_deploy_path PATH: "{{ edxapp_deploy_path }}"
edxapp_generic_auth_config: &edxapp_generic_auth edxapp_generic_auth_config: &edxapp_generic_auth
ANALYTICS_DATA_TOKEN: $EDXAPP_ANALYTICS_DATA_TOKEN ANALYTICS_DATA_TOKEN: "{{ EDXAPP_ANALYTICS_DATA_TOKEN }}"
AWS_ACCESS_KEY_ID: $EDXAPP_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID: "{{ EDXAPP_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: $EDXAPP_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY: "{{ EDXAPP_AWS_SECRET_ACCESS_KEY }}"
SECRET_KEY: $EDXAPP_EDXAPP_SECRET_KEY SECRET_KEY: "{{ EDXAPP_EDXAPP_SECRET_KEY }}"
XQUEUE_INTERFACE: XQUEUE_INTERFACE:
basic_auth: $EDXAPP_XQUEUE_BASIC_AUTH basic_auth: "{{ EDXAPP_XQUEUE_BASIC_AUTH }}"
django_auth: $EDXAPP_XQUEUE_DJANGO_AUTH django_auth: "{{ EDXAPP_XQUEUE_DJANGO_AUTH }}"
url: $EDXAPP_XQUEUE_URL url: "{{ EDXAPP_XQUEUE_URL }}"
DOC_STORE_CONFIG: &edxapp_generic_default_docstore DOC_STORE_CONFIG: &edxapp_generic_default_docstore
db: $EDXAPP_MONGO_DB_NAME db: "{{ EDXAPP_MONGO_DB_NAME }}"
host: $EDXAPP_MONGO_HOSTS host: "{{ EDXAPP_MONGO_HOSTS }}"
password: $EDXAPP_MONGO_PASSWORD password: "{{ EDXAPP_MONGO_PASSWORD }}"
port: $EDXAPP_MONGO_PORT port: $EDXAPP_MONGO_PORT
user: $EDXAPP_MONGO_USER user: "{{ EDXAPP_MONGO_USER }}"
collection: 'modulestore' collection: 'modulestore'
CONTENTSTORE: CONTENTSTORE:
ENGINE: 'xmodule.contentstore.mongo.MongoContentStore' ENGINE: 'xmodule.contentstore.mongo.MongoContentStore'
...@@ -448,18 +448,18 @@ edxapp_generic_auth_config: &edxapp_generic_auth ...@@ -448,18 +448,18 @@ edxapp_generic_auth_config: &edxapp_generic_auth
# backward compatibility # backward compatibility
# #
OPTIONS: OPTIONS:
db: $EDXAPP_MONGO_DB_NAME db: "{{ EDXAPP_MONGO_DB_NAME }}"
host: $EDXAPP_MONGO_HOSTS host: "{{ EDXAPP_MONGO_HOSTS }}"
password: $EDXAPP_MONGO_PASSWORD password: "{{ EDXAPP_MONGO_PASSWORD }}"
port: $EDXAPP_MONGO_PORT port: $EDXAPP_MONGO_PORT
user: $EDXAPP_MONGO_USER user: "{{ EDXAPP_MONGO_USER }}"
ADDITIONAL_OPTIONS: $EDXAPP_CONTENTSTORE_ADDITIONAL_OPTS ADDITIONAL_OPTIONS: "{{ EDXAPP_CONTENTSTORE_ADDITIONAL_OPTS }}"
DOC_STORE_CONFIG: *edxapp_generic_default_docstore DOC_STORE_CONFIG: *edxapp_generic_default_docstore
MODULESTORE: MODULESTORE:
default: default:
ENGINE: 'xmodule.modulestore.mixed.MixedModuleStore' ENGINE: 'xmodule.modulestore.mixed.MixedModuleStore'
OPTIONS: OPTIONS:
mappings: $EDXAPP_XML_MAPPINGS mappings: "{{ EDXAPP_XML_MAPPINGS }}"
stores: stores:
- &edxapp_generic_draft_modulestore - &edxapp_generic_draft_modulestore
NAME: 'draft' NAME: 'draft'
...@@ -467,13 +467,13 @@ edxapp_generic_auth_config: &edxapp_generic_auth ...@@ -467,13 +467,13 @@ edxapp_generic_auth_config: &edxapp_generic_auth
DOC_STORE_CONFIG: *edxapp_generic_default_docstore DOC_STORE_CONFIG: *edxapp_generic_default_docstore
OPTIONS: OPTIONS:
default_class: 'xmodule.hidden_module.HiddenDescriptor' default_class: 'xmodule.hidden_module.HiddenDescriptor'
fs_root: $edxapp_course_data_dir fs_root: "{{ edxapp_course_data_dir }}"
render_template: 'edxmako.shortcuts.render_to_string' render_template: 'edxmako.shortcuts.render_to_string'
- &edxapp_generic_xml_modulestore - &edxapp_generic_xml_modulestore
NAME: 'xml' NAME: 'xml'
ENGINE: 'xmodule.modulestore.xml.XMLModuleStore' ENGINE: 'xmodule.modulestore.xml.XMLModuleStore'
OPTIONS: OPTIONS:
data_dir: $edxapp_course_data_dir data_dir: "{{ edxapp_course_data_dir }}"
default_class: 'xmodule.hidden_module.HiddenDescriptor' default_class: 'xmodule.hidden_module.HiddenDescriptor'
- &edxapp_generic_split_modulestore - &edxapp_generic_split_modulestore
NAME: 'split' NAME: 'split'
...@@ -481,90 +481,90 @@ edxapp_generic_auth_config: &edxapp_generic_auth ...@@ -481,90 +481,90 @@ edxapp_generic_auth_config: &edxapp_generic_auth
DOC_STORE_CONFIG: *edxapp_generic_default_docstore DOC_STORE_CONFIG: *edxapp_generic_default_docstore
OPTIONS: OPTIONS:
default_class: 'xmodule.hidden_module.HiddenDescriptor' default_class: 'xmodule.hidden_module.HiddenDescriptor'
fs_root: $edxapp_course_data_dir fs_root: "{{ edxapp_course_data_dir }}"
render_template: 'edxmako.shortcuts.render_to_string' render_template: 'edxmako.shortcuts.render_to_string'
DATABASES: DATABASES:
read_replica: read_replica:
ENGINE: 'django.db.backends.mysql' ENGINE: 'django.db.backends.mysql'
NAME: $EDXAPP_MYSQL_REPLICA_DB_NAME NAME: "{{ EDXAPP_MYSQL_REPLICA_DB_NAME }}"
USER: $EDXAPP_MYSQL_REPLICA_USER USER: "{{ EDXAPP_MYSQL_REPLICA_USER }}"
PASSWORD: $EDXAPP_MYSQL_REPLICA_PASSWORD PASSWORD: "{{ EDXAPP_MYSQL_REPLICA_PASSWORD }}"
HOST: $EDXAPP_MYSQL_REPLICA_HOST HOST: "{{ EDXAPP_MYSQL_REPLICA_HOST }}"
PORT: $EDXAPP_MYSQL_REPLICA_PORT PORT: "{{ EDXAPP_MYSQL_REPLICA_PORT }}"
default: default:
ENGINE: 'django.db.backends.mysql' ENGINE: 'django.db.backends.mysql'
NAME: $EDXAPP_MYSQL_DB_NAME NAME: "{{ EDXAPP_MYSQL_DB_NAME }}"
USER: $EDXAPP_MYSQL_USER USER: "{{ EDXAPP_MYSQL_USER }}"
PASSWORD: $EDXAPP_MYSQL_PASSWORD PASSWORD: "{{ EDXAPP_MYSQL_PASSWORD }}"
HOST: $EDXAPP_MYSQL_HOST HOST: "{{ EDXAPP_MYSQL_HOST }}"
PORT: $EDXAPP_MYSQL_PORT PORT: "{{ EDXAPP_MYSQL_PORT }}"
OPEN_ENDED_GRADING_INTERFACE: OPEN_ENDED_GRADING_INTERFACE:
url: $EDXAPP_OEE_URL url: "{{ EDXAPP_OEE_URL }}"
password: $EDXAPP_OEE_PASSWORD password: "{{ EDXAPP_OEE_PASSWORD }}"
peer_grading: 'peer_grading' peer_grading: 'peer_grading'
staff_grading: 'staff_grading' staff_grading: 'staff_grading'
grading_controller: 'grading_controller' grading_controller: 'grading_controller'
username: $EDXAPP_OEE_USER username: "{{ EDXAPP_OEE_USER }}"
ANALYTICS_API_KEY: $EDXAPP_ANALYTICS_API_KEY ANALYTICS_API_KEY: "{{ EDXAPP_ANALYTICS_API_KEY }}"
EMAIL_HOST_USER: $EDXAPP_EMAIL_HOST_USER EMAIL_HOST_USER: "{{ EDXAPP_EMAIL_HOST_USER }}"
EMAIL_HOST_PASSWORD: $EDXAPP_EMAIL_HOST_PASSWORD EMAIL_HOST_PASSWORD: "{{ EDXAPP_EMAIL_HOST_PASSWORD }}"
ZENDESK_USER: $EDXAPP_ZENDESK_USER ZENDESK_USER: "{{ EDXAPP_ZENDESK_USER }}"
ZENDESK_API_KEY: $EDXAPP_ZENDESK_API_KEY ZENDESK_API_KEY: "{{ EDXAPP_ZENDESK_API_KEY }}"
CELERY_BROKER_USER: $EDXAPP_CELERY_USER CELERY_BROKER_USER: "{{ EDXAPP_CELERY_USER }}"
CELERY_BROKER_PASSWORD: $EDXAPP_CELERY_PASSWORD CELERY_BROKER_PASSWORD: "{{ EDXAPP_CELERY_PASSWORD }}"
GOOGLE_ANALYTICS_ACCOUNT: $EDXAPP_GOOGLE_ANALYTICS_ACCOUNT GOOGLE_ANALYTICS_ACCOUNT: "{{ EDXAPP_GOOGLE_ANALYTICS_ACCOUNT }}"
THIRD_PARTY_AUTH: $EDXAPP_THIRD_PARTY_AUTH THIRD_PARTY_AUTH: "{{ EDXAPP_THIRD_PARTY_AUTH }}"
AWS_STORAGE_BUCKET_NAME: "{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}" AWS_STORAGE_BUCKET_NAME: "{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}"
generic_cache_config: &default_generic_cache generic_cache_config: &default_generic_cache
BACKEND: 'django.core.cache.backends.memcached.MemcachedCache' BACKEND: 'django.core.cache.backends.memcached.MemcachedCache'
KEY_FUNCTION: 'util.memcache.safe_key' KEY_FUNCTION: 'util.memcache.safe_key'
KEY_PREFIX: 'default' KEY_PREFIX: 'default'
LOCATION: $EDXAPP_MEMCACHE LOCATION: "{{ EDXAPP_MEMCACHE }}"
generic_env_config: &edxapp_generic_env generic_env_config: &edxapp_generic_env
OAUTH_OIDC_ISSUER: "https://{{ EDXAPP_LMS_BASE }}/oauth2" OAUTH_OIDC_ISSUER: "https://{{ EDXAPP_LMS_BASE }}/oauth2"
XBLOCK_FS_STORAGE_BUCKET: $EDXAPP_XBLOCK_FS_STORAGE_BUCKET XBLOCK_FS_STORAGE_BUCKET: "{{ EDXAPP_XBLOCK_FS_STORAGE_BUCKET }}"
XBLOCK_FS_STORAGE_PREFIX: $EDXAPP_XBLOCK_FS_STORAGE_PREFIX XBLOCK_FS_STORAGE_PREFIX: "{{ EDXAPP_XBLOCK_FS_STORAGE_PREFIX }}"
ANALYTICS_DATA_URL: $EDXAPP_ANALYTICS_DATA_URL ANALYTICS_DATA_URL: "{{ EDXAPP_ANALYTICS_DATA_URL }}"
ANALYTICS_DASHBOARD_URL: '{{ EDXAPP_ANALYTICS_DASHBOARD_URL }}' ANALYTICS_DASHBOARD_URL: '{{ EDXAPP_ANALYTICS_DASHBOARD_URL }}'
CELERY_BROKER_VHOST: $EDXAPP_CELERY_BROKER_VHOST CELERY_BROKER_VHOST: "{{ EDXAPP_CELERY_BROKER_VHOST }}"
PAYMENT_SUPPORT_EMAIL: $EDXAPP_PAYMENT_SUPPORT_EMAIL PAYMENT_SUPPORT_EMAIL: "{{ EDXAPP_PAYMENT_SUPPORT_EMAIL }}"
ZENDESK_URL: $EDXAPP_ZENDESK_URL ZENDESK_URL: "{{ EDXAPP_ZENDESK_URL }}"
COURSES_WITH_UNSAFE_CODE: $EDXAPP_COURSES_WITH_UNSAFE_CODE COURSES_WITH_UNSAFE_CODE: "{{ EDXAPP_COURSES_WITH_UNSAFE_CODE }}"
BULK_EMAIL_EMAILS_PER_TASK: $EDXAPP_BULK_EMAIL_EMAILS_PER_TASK BULK_EMAIL_EMAILS_PER_TASK: "{{ EDXAPP_BULK_EMAIL_EMAILS_PER_TASK }}"
MICROSITE_ROOT_DIR: $EDXAPP_MICROSITE_ROOT_DIR MICROSITE_ROOT_DIR: "{{ EDXAPP_MICROSITE_ROOT_DIR }}"
MICROSITE_CONFIGURATION: $EDXAPP_MICROSITE_CONFIGURATION MICROSITE_CONFIGURATION: $EDXAPP_MICROSITE_CONFIGURATION
GRADES_DOWNLOAD: GRADES_DOWNLOAD:
STORAGE_TYPE: $EDXAPP_GRADE_STORAGE_TYPE STORAGE_TYPE: "{{ EDXAPP_GRADE_STORAGE_TYPE }}"
BUCKET: $EDXAPP_GRADE_BUCKET BUCKET: "{{ EDXAPP_GRADE_BUCKET }}"
ROOT_PATH: $EDXAPP_GRADE_ROOT_PATH ROOT_PATH: "{{ EDXAPP_GRADE_ROOT_PATH }}"
STATIC_URL_BASE: $EDXAPP_STATIC_URL_BASE STATIC_URL_BASE: "{{ EDXAPP_STATIC_URL_BASE }}"
STATIC_ROOT_BASE: $edxapp_staticfile_dir STATIC_ROOT_BASE: "{{ edxapp_staticfile_dir }}"
LMS_BASE: $EDXAPP_LMS_BASE LMS_BASE: "{{ EDXAPP_LMS_BASE }}"
CMS_BASE: $EDXAPP_CMS_BASE CMS_BASE: "{{ EDXAPP_CMS_BASE }}"
BOOK_URL: $EDXAPP_BOOK_URL BOOK_URL: "{{ EDXAPP_BOOK_URL }}"
PLATFORM_NAME: $EDXAPP_PLATFORM_NAME PLATFORM_NAME: "{{ EDXAPP_PLATFORM_NAME }}"
CERT_QUEUE: 'certificates' CERT_QUEUE: 'certificates'
LOCAL_LOGLEVEL: $EDXAPP_LOG_LEVEL LOCAL_LOGLEVEL: "{{ EDXAPP_LOG_LEVEL }}"
# default email backed set to local SMTP # default email backed set to local SMTP
EMAIL_BACKEND: $EDXAPP_EMAIL_BACKEND EMAIL_BACKEND: "{{ EDXAPP_EMAIL_BACKEND }}"
EMAIL_HOST: $EDXAPP_EMAIL_HOST EMAIL_HOST: "{{ EDXAPP_EMAIL_HOST }}"
EMAIL_PORT: $EDXAPP_EMAIL_PORT EMAIL_PORT: "{{ EDXAPP_EMAIL_PORT }}"
EMAIL_USE_TLS: $EDXAPP_EMAIL_USE_TLS EMAIL_USE_TLS: "{{ EDXAPP_EMAIL_USE_TLS }}"
FEATURES: $EDXAPP_FEATURES FEATURES: "{{ EDXAPP_FEATURES }}"
WIKI_ENABLED: true WIKI_ENABLED: true
SYSLOG_SERVER: $EDXAPP_SYSLOG_SERVER SYSLOG_SERVER: "{{ EDXAPP_SYSLOG_SERVER }}"
LOG_DIR: "{{ COMMON_DATA_DIR }}/logs/edx" LOG_DIR: "{{ COMMON_DATA_DIR }}/logs/edx"
MEDIA_URL: $EDXAPP_MEDIA_URL MEDIA_URL: "{{ EDXAPP_MEDIA_URL }}"
ANALYTICS_SERVER_URL: $EDXAPP_ANALYTICS_SERVER_URL ANALYTICS_SERVER_URL: "{{ EDXAPP_ANALYTICS_SERVER_URL }}"
FEEDBACK_SUBMISSION_EMAIL: $EDXAPP_FEEDBACK_SUBMISSION_EMAIL FEEDBACK_SUBMISSION_EMAIL: "{{ EDXAPP_FEEDBACK_SUBMISSION_EMAIL }}"
TIME_ZONE: $EDXAPP_TIME_ZONE TIME_ZONE: "{{ EDXAPP_TIME_ZONE }}"
LANGUAGE_CODE : $EDXAPP_LANGUAGE_CODE LANGUAGE_CODE: "{{ EDXAPP_LANGUAGE_CODE }}"
MKTG_URL_LINK_MAP: $EDXAPP_MKTG_URL_LINK_MAP MKTG_URL_LINK_MAP: "{{ EDXAPP_MKTG_URL_LINK_MAP }}"
MKTG_URLS: $EDXAPP_MKTG_URLS MKTG_URLS: "{{ EDXAPP_MKTG_URLS }}"
# repo root for courses # repo root for courses
GITHUB_REPO_ROOT: $edxapp_course_data_dir GITHUB_REPO_ROOT: "{{ edxapp_course_data_dir }}"
CACHES: CACHES:
default: default:
<<: *default_generic_cache <<: *default_generic_cache
...@@ -585,72 +585,72 @@ generic_env_config: &edxapp_generic_env ...@@ -585,72 +585,72 @@ generic_env_config: &edxapp_generic_env
KEY_PREFIX: 'celery' KEY_PREFIX: 'celery'
TIMEOUT: "7200" TIMEOUT: "7200"
CELERY_BROKER_TRANSPORT: 'amqp' CELERY_BROKER_TRANSPORT: 'amqp'
CELERY_BROKER_HOSTNAME: $EDXAPP_RABBIT_HOSTNAME CELERY_BROKER_HOSTNAME: "{{ EDXAPP_RABBIT_HOSTNAME }}"
COMMENTS_SERVICE_URL: $EDXAPP_COMMENTS_SERVICE_URL COMMENTS_SERVICE_URL: "{{ EDXAPP_COMMENTS_SERVICE_URL }}"
LOGGING_ENV: $EDXAPP_LOGGING_ENV LOGGING_ENV: "{{ EDXAPP_LOGGING_ENV }}"
SESSION_COOKIE_DOMAIN: $EDXAPP_SESSION_COOKIE_DOMAIN SESSION_COOKIE_DOMAIN: "{{ EDXAPP_SESSION_COOKIE_DOMAIN }}"
SESSION_COOKIE_NAME: $EDXAPP_SESSION_COOKIE_NAME SESSION_COOKIE_NAME: "{{ EDXAPP_SESSION_COOKIE_NAME }}"
COMMENTS_SERVICE_KEY: $EDXAPP_COMMENTS_SERVICE_KEY COMMENTS_SERVICE_KEY: "{{ EDXAPP_COMMENTS_SERVICE_KEY }}"
SEGMENT_IO_LMS: $EDXAPP_SEGMENT_IO_LMS SEGMENT_IO_LMS: $EDXAPP_SEGMENT_IO_LMS
SEGMENT_IO: $EDXAPP_SEGMENT_IO SEGMENT_IO: $EDXAPP_SEGMENT_IO
THEME_NAME: $edxapp_theme_name THEME_NAME: "{{ edxapp_theme_name }}"
TECH_SUPPORT_EMAIL: $EDXAPP_TECH_SUPPORT_EMAIL TECH_SUPPORT_EMAIL: "{{ EDXAPP_TECH_SUPPORT_EMAIL }}"
CONTACT_EMAIL: $EDXAPP_CONTACT_EMAIL CONTACT_EMAIL: "{{ EDXAPP_CONTACT_EMAIL }}"
BUGS_EMAIL: $EDXAPP_BUGS_EMAIL BUGS_EMAIL: "{{ EDXAPP_BUGS_EMAIL }}"
DEFAULT_FROM_EMAIL: $EDXAPP_DEFAULT_FROM_EMAIL DEFAULT_FROM_EMAIL: "{{ EDXAPP_DEFAULT_FROM_EMAIL }}"
DEFAULT_FEEDBACK_EMAIL: $EDXAPP_DEFAULT_FEEDBACK_EMAIL DEFAULT_FEEDBACK_EMAIL: "{{ EDXAPP_DEFAULT_FEEDBACK_EMAIL }}"
SERVER_EMAIL: $EDXAPP_DEFAULT_SERVER_EMAIL SERVER_EMAIL: "{{ EDXAPP_DEFAULT_SERVER_EMAIL }}"
BULK_EMAIL_DEFAULT_FROM_EMAIL: $EDXAPP_BULK_EMAIL_DEFAULT_FROM_EMAIL BULK_EMAIL_DEFAULT_FROM_EMAIL: "{{ EDXAPP_BULK_EMAIL_DEFAULT_FROM_EMAIL }}"
CAS_SERVER_URL: $EDXAPP_CAS_SERVER_URL CAS_SERVER_URL: "{{ EDXAPP_CAS_SERVER_URL }}"
CAS_EXTRA_LOGIN_PARAMS: $EDXAPP_CAS_EXTRA_LOGIN_PARAMS CAS_EXTRA_LOGIN_PARAMS: "{{ EDXAPP_CAS_EXTRA_LOGIN_PARAMS }}"
CAS_ATTRIBUTE_CALLBACK: $EDXAPP_CAS_ATTRIBUTE_CALLBACK CAS_ATTRIBUTE_CALLBACK: "{{ EDXAPP_CAS_ATTRIBUTE_CALLBACK }}"
HOSTNAME_MODULESTORE_DEFAULT_MAPPINGS: "{{ EDXAPP_MODULESTORE_MAPPINGS }}" HOSTNAME_MODULESTORE_DEFAULT_MAPPINGS: "{{ EDXAPP_MODULESTORE_MAPPINGS }}"
UNIVERSITY_EMAIL: $EDXAPP_UNIVERSITY_EMAIL UNIVERSITY_EMAIL: "{{ EDXAPP_UNIVERSITY_EMAIL }}"
PRESS_EMAIL: $EDXAPP_PRESS_EMAIL PRESS_EMAIL: "{{ EDXAPP_PRESS_EMAIL }}"
PLATFORM_TWITTER_ACCOUNT: $EDXAPP_PLATFORM_TWITTER_ACCOUNT PLATFORM_TWITTER_ACCOUNT: "{{ EDXAPP_PLATFORM_TWITTER_ACCOUNT }}"
PLATFORM_FACEBOOK_ACCOUNT: $EDXAPP_PLATFORM_FACEBOOK_ACCOUNT PLATFORM_FACEBOOK_ACCOUNT: "{{ EDXAPP_PLATFORM_FACEBOOK_ACCOUNT }}"
PLATFORM_TWITTER_URL: "{{ EDXAPP_PLATFORM_TWITTER_URL }}" PLATFORM_TWITTER_URL: "{{ EDXAPP_PLATFORM_TWITTER_URL }}"
PLATFORM_MEETUP_URL: "{{ EDXAPP_PLATFORM_MEETUP_URL }}" PLATFORM_MEETUP_URL: "{{ EDXAPP_PLATFORM_MEETUP_URL }}"
PLATFORM_LINKEDIN_URL: "{{ EDXAPP_PLATFORM_LINKEDIN_URL }}" PLATFORM_LINKEDIN_URL: "{{ EDXAPP_PLATFORM_LINKEDIN_URL }}"
PLATFORM_GOOGLE_PLUS_URL: "{{ EDXAPP_PLATFORM_GOOGLE_PLUS_URL }}" PLATFORM_GOOGLE_PLUS_URL: "{{ EDXAPP_PLATFORM_GOOGLE_PLUS_URL }}"
ORA2_FILE_PREFIX: $EDXAPP_ORA2_FILE_PREFIX ORA2_FILE_PREFIX: "{{ EDXAPP_ORA2_FILE_PREFIX }}"
FILE_UPLOAD_STORAGE_BUCKET_NAME: $EDXAPP_FILE_UPLOAD_STORAGE_BUCKET_NAME FILE_UPLOAD_STORAGE_BUCKET_NAME: "{{ EDXAPP_FILE_UPLOAD_STORAGE_BUCKET_NAME }}"
FILE_UPLOAD_STORAGE_PREFIX: $EDXAPP_FILE_UPLOAD_STORAGE_PREFIX FILE_UPLOAD_STORAGE_PREFIX: "{{ EDXAPP_FILE_UPLOAD_STORAGE_PREFIX }}"
VIRTUAL_UNIVERSITIES: $EDXAPP_VIRTUAL_UNIVERSITIES VIRTUAL_UNIVERSITIES: "{{ EDXAPP_VIRTUAL_UNIVERSITIES }}"
SUBDOMAIN_BRANDING: $EDXAPP_SUBDOMAIN_BRANDING SUBDOMAIN_BRANDING: "{{ EDXAPP_SUBDOMAIN_BRANDING }}"
REGISTRATION_EXTRA_FIELDS: $EDXAPP_REGISTRATION_EXTRA_FIELDS REGISTRATION_EXTRA_FIELDS: "{{ EDXAPP_REGISTRATION_EXTRA_FIELDS }}"
lms_auth_config: lms_auth_config:
<<: *edxapp_generic_auth <<: *edxapp_generic_auth
PEARSON_TEST_PASSWORD: $EDXAPP_PEARSON_TEST_PASSWORD PEARSON_TEST_PASSWORD: "{{ EDXAPP_PEARSON_TEST_PASSWORD }}"
SEGMENT_IO_LMS_KEY: $EDXAPP_SEGMENT_IO_LMS_KEY SEGMENT_IO_LMS_KEY: "{{ EDXAPP_SEGMENT_IO_LMS_KEY }}"
OPTIMIZELY_PROJECT_ID: $EDXAPP_OPTIMIZELY_PROJECT_ID OPTIMIZELY_PROJECT_ID: "{{ EDXAPP_OPTIMIZELY_PROJECT_ID }}"
EDX_API_KEY: $EDXAPP_EDX_API_KEY EDX_API_KEY: "{{ EDXAPP_EDX_API_KEY }}"
VERIFY_STUDENT: $EDXAPP_VERIFY_STUDENT VERIFY_STUDENT: "{{ EDXAPP_VERIFY_STUDENT }}"
GOOGLE_ANALYTICS_LINKEDIN: $EDXAPP_GOOGLE_ANALYTICS_LINKEDIN GOOGLE_ANALYTICS_LINKEDIN: "{{ EDXAPP_GOOGLE_ANALYTICS_LINKEDIN }}"
CC_PROCESSOR_NAME: $EDXAPP_CC_PROCESSOR_NAME CC_PROCESSOR_NAME: "{{ EDXAPP_CC_PROCESSOR_NAME }}"
CC_PROCESSOR: $EDXAPP_CC_PROCESSOR CC_PROCESSOR: "{{ EDXAPP_CC_PROCESSOR }}"
TRACKING_SEGMENTIO_WEBHOOK_SECRET: $EDXAPP_TRACKING_SEGMENTIO_WEBHOOK_SECRET TRACKING_SEGMENTIO_WEBHOOK_SECRET: "{{ EDXAPP_TRACKING_SEGMENTIO_WEBHOOK_SECRET }}"
lms_env_config: lms_env_config:
<<: *edxapp_generic_env <<: *edxapp_generic_env
PAID_COURSE_REGISTRATION_CURRENCY: $EDXAPP_PAID_COURSE_REGISTRATION_CURRENCY PAID_COURSE_REGISTRATION_CURRENCY: $EDXAPP_PAID_COURSE_REGISTRATION_CURRENCY
SITE_NAME: $EDXAPP_LMS_SITE_NAME SITE_NAME: "{{ EDXAPP_LMS_SITE_NAME }}"
VIDEO_CDN_URL: $EDXAPP_VIDEO_CDN_URLS VIDEO_CDN_URL: "{{ EDXAPP_VIDEO_CDN_URLS }}"
CODE_JAIL: CODE_JAIL:
# from https://github.com/edx/codejail/blob/master/codejail/django_integration.py#L24, '' should be same as None # from https://github.com/edx/codejail/blob/master/codejail/django_integration.py#L24, '' should be same as None
python_bin: '{% if EDXAPP_PYTHON_SANDBOX %}{{ edxapp_sandbox_venv_dir }}/bin/python{% endif %}' python_bin: '{% if EDXAPP_PYTHON_SANDBOX %}{{ edxapp_sandbox_venv_dir }}/bin/python{% endif %}'
limits: $EDXAPP_CODE_JAIL_LIMITS limits: "{{ EDXAPP_CODE_JAIL_LIMITS }}"
user: '{{ edxapp_sandbox_user }}' user: '{{ edxapp_sandbox_user }}'
cms_auth_config: cms_auth_config:
<<: *edxapp_generic_auth <<: *edxapp_generic_auth
SEGMENT_IO_KEY: $EDXAPP_SEGMENT_IO_KEY SEGMENT_IO_KEY: "{{ EDXAPP_SEGMENT_IO_KEY }}"
MODULESTORE: MODULESTORE:
default: default:
ENGINE: 'xmodule.modulestore.mixed.MixedModuleStore' ENGINE: 'xmodule.modulestore.mixed.MixedModuleStore'
OPTIONS: OPTIONS:
# See commented section below. LMS-11258 # See commented section below. LMS-11258
# mappings: $EDXAPP_XML_MAPPINGS # mappings: "{{ EDXAPP_XML_MAPPINGS }}"
mappings: {} mappings: {}
stores: stores:
- *edxapp_generic_draft_modulestore - *edxapp_generic_draft_modulestore
...@@ -659,7 +659,7 @@ cms_auth_config: ...@@ -659,7 +659,7 @@ cms_auth_config:
- *edxapp_generic_split_modulestore - *edxapp_generic_split_modulestore
cms_env_config: cms_env_config:
<<: *edxapp_generic_env <<: *edxapp_generic_env
SITE_NAME: $EDXAPP_CMS_SITE_NAME SITE_NAME: "{{ EDXAPP_CMS_SITE_NAME }}"
# install dir for the edx-platform repo # install dir for the edx-platform repo
edxapp_code_dir: "{{ edxapp_app_dir }}/edx-platform" edxapp_code_dir: "{{ edxapp_app_dir }}/edx-platform"
......
...@@ -27,11 +27,11 @@ ...@@ -27,11 +27,11 @@
when: EDXAPP_USE_GIT_IDENTITY when: EDXAPP_USE_GIT_IDENTITY
# Do A Checkout # Do A Checkout
- name: checkout edx-platform repo into {{edxapp_code_dir}} - name: checkout edx-platform repo into {{ edxapp_code_dir }}
git: > git: >
dest={{edxapp_code_dir}} dest={{ edxapp_code_dir }}
repo={{edx_platform_repo}} repo={{ edx_platform_repo }}
version={{edx_platform_version}} version={{ edx_platform_version }}
accept_hostkey=yes accept_hostkey=yes
sudo_user: "{{ edxapp_user }}" sudo_user: "{{ edxapp_user }}"
environment: environment:
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
- "restart edxapp_workers" - "restart edxapp_workers"
- name: git clean after checking out edx-platform - name: git clean after checking out edx-platform
shell: cd {{edxapp_code_dir}} && git clean -xdf shell: cd {{ edxapp_code_dir }} && git clean -xdf
sudo_user: "{{ edxapp_user }}" sudo_user: "{{ edxapp_user }}"
notify: notify:
- "restart edxapp" - "restart edxapp"
...@@ -50,9 +50,9 @@ ...@@ -50,9 +50,9 @@
- name: checkout theme - name: checkout theme
git: > git: >
dest={{ edxapp_app_dir }}/themes/{{edxapp_theme_name}} dest={{ edxapp_app_dir }}/themes/{{ edxapp_theme_name }}
repo={{edxapp_theme_source_repo}} repo={{ edxapp_theme_source_repo }}
version={{edxapp_theme_version}} version={{ edxapp_theme_version }}
accept_hostkey=yes accept_hostkey=yes
when: edxapp_theme_name != '' when: edxapp_theme_name != ''
sudo_user: "{{ edxapp_user }}" sudo_user: "{{ edxapp_user }}"
...@@ -144,8 +144,8 @@ ...@@ -144,8 +144,8 @@
# Install the python pre requirements into {{ edxapp_venv_dir }} # Install the python pre requirements into {{ edxapp_venv_dir }}
- name : install python pre-requirements - name : install python pre-requirements
pip: > pip: >
requirements="{{pre_requirements_file}}" requirements="{{ pre_requirements_file }}"
virtualenv="{{edxapp_venv_dir}}" virtualenv="{{ edxapp_venv_dir }}"
state=present state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ edxapp_user }}" sudo_user: "{{ edxapp_user }}"
...@@ -173,8 +173,8 @@ ...@@ -173,8 +173,8 @@
# Install the python post requirements into {{ edxapp_venv_dir }} # Install the python post requirements into {{ edxapp_venv_dir }}
- name : install python post-requirements - name : install python post-requirements
pip: > pip: >
requirements="{{post_requirements_file}}" requirements="{{ post_requirements_file }}"
virtualenv="{{edxapp_venv_dir}}" virtualenv="{{ edxapp_venv_dir }}"
state=present state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ edxapp_user }}" sudo_user: "{{ edxapp_user }}"
...@@ -187,8 +187,8 @@ ...@@ -187,8 +187,8 @@
# Install the python paver requirements into {{ edxapp_venv_dir }} # Install the python paver requirements into {{ edxapp_venv_dir }}
- name : install python paver-requirements - name : install python paver-requirements
pip: > pip: >
requirements="{{paver_requirements_file}}" requirements="{{ paver_requirements_file }}"
virtualenv="{{edxapp_venv_dir}}" virtualenv="{{ edxapp_venv_dir }}"
state=present state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ edxapp_user }}" sudo_user: "{{ edxapp_user }}"
...@@ -257,7 +257,7 @@ ...@@ -257,7 +257,7 @@
- name: install CAS attribute module - name: install CAS attribute module
pip: > pip: >
name="{{ EDXAPP_CAS_ATTRIBUTE_PACKAGE }}" name="{{ EDXAPP_CAS_ATTRIBUTE_PACKAGE }}"
virtualenv="{{edxapp_venv_dir}}" virtualenv="{{ edxapp_venv_dir }}"
state=present state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }} --exists-action w --use-mirrors" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }} --exists-action w --use-mirrors"
sudo_user: "{{ edxapp_user }}" sudo_user: "{{ edxapp_user }}"
...@@ -294,8 +294,8 @@ ...@@ -294,8 +294,8 @@
- name: code sandbox | Install base sandbox requirements and create sandbox virtualenv - name: code sandbox | Install base sandbox requirements and create sandbox virtualenv
pip: > pip: >
requirements="{{sandbox_base_requirements}}" requirements="{{ sandbox_base_requirements }}"
virtualenv="{{edxapp_sandbox_venv_dir}}" virtualenv="{{ edxapp_sandbox_venv_dir }}"
state=present state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }} --exists-action w --use-mirrors" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }} --exists-action w --use-mirrors"
sudo_user: "{{ edxapp_sandbox_user }}" sudo_user: "{{ edxapp_sandbox_user }}"
......
...@@ -24,7 +24,7 @@ command={{ executable }} {{ max_req }} --preload -b {{ edxapp_cms_gunicorn_host ...@@ -24,7 +24,7 @@ command={{ executable }} {{ max_req }} --preload -b {{ edxapp_cms_gunicorn_host
user={{ common_web_user }} user={{ common_web_user }}
directory={{ edxapp_code_dir }} directory={{ edxapp_code_dir }}
environment={% if COMMON_ENABLE_NEWRELIC_APP %}NEW_RELIC_APP_NAME={{ EDXAPP_NEWRELIC_CMS_APPNAME }},NEW_RELIC_LICENSE_KEY={{ NEWRELIC_LICENSE_KEY }},{% endif -%}PORT={{edxapp_cms_gunicorn_port}},ADDRESS={{edxapp_cms_gunicorn_host}},LANG={{ EDXAPP_LANG }},DJANGO_SETTINGS_MODULE={{ EDXAPP_CMS_ENV }},SERVICE_VARIANT="cms" environment={% if COMMON_ENABLE_NEWRELIC_APP %}NEW_RELIC_APP_NAME={{ EDXAPP_NEWRELIC_CMS_APPNAME }},NEW_RELIC_LICENSE_KEY={{ NEWRELIC_LICENSE_KEY }},{% endif -%}PORT={{ edxapp_cms_gunicorn_port }},ADDRESS={{ edxapp_cms_gunicorn_host }},LANG={{ EDXAPP_LANG }},DJANGO_SETTINGS_MODULE={{ EDXAPP_CMS_ENV }},SERVICE_VARIANT="cms"
stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log
stderr_logfile={{ supervisor_log_dir }}/%(program_name)-stderr.log stderr_logfile={{ supervisor_log_dir }}/%(program_name)-stderr.log
killasgroup=true killasgroup=true
......
...@@ -25,7 +25,7 @@ command={{ executable }} {{ max_req }} --preload -b {{ edxapp_lms_gunicorn_host ...@@ -25,7 +25,7 @@ command={{ executable }} {{ max_req }} --preload -b {{ edxapp_lms_gunicorn_host
user={{ common_web_user }} user={{ common_web_user }}
directory={{ edxapp_code_dir }} directory={{ edxapp_code_dir }}
environment={% if COMMON_ENABLE_NEWRELIC_APP %}NEW_RELIC_APP_NAME={{ EDXAPP_NEWRELIC_LMS_APPNAME }},NEW_RELIC_LICENSE_KEY={{ NEWRELIC_LICENSE_KEY }},{% endif -%} PORT={{edxapp_lms_gunicorn_port}},ADDRESS={{edxapp_lms_gunicorn_host}},LANG={{ EDXAPP_LANG }},DJANGO_SETTINGS_MODULE={{ EDXAPP_LMS_ENV }},SERVICE_VARIANT="lms",PATH="{{ edxapp_deploy_path }}" environment={% if COMMON_ENABLE_NEWRELIC_APP %}NEW_RELIC_APP_NAME={{ EDXAPP_NEWRELIC_LMS_APPNAME }},NEW_RELIC_LICENSE_KEY={{ NEWRELIC_LICENSE_KEY }},{% endif -%} PORT={{ edxapp_lms_gunicorn_port }},ADDRESS={{ edxapp_lms_gunicorn_host }},LANG={{ EDXAPP_LANG }},DJANGO_SETTINGS_MODULE={{ EDXAPP_LMS_ENV }},SERVICE_VARIANT="lms",PATH="{{ edxapp_deploy_path }}"
stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log
stderr_logfile={{ supervisor_log_dir }}/%(program_name)-stderr.log stderr_logfile={{ supervisor_log_dir }}/%(program_name)-stderr.log
killasgroup=true killasgroup=true
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
mysql_user: > mysql_user: >
name={{ EDXAPP_MYSQL_USER }} name={{ EDXAPP_MYSQL_USER }}
password={{ EDXAPP_MYSQL_PASSWORD }} password={{ EDXAPP_MYSQL_PASSWORD }}
priv='{{EDXAPP_MYSQL_DB_NAME}}.*:ALL' priv='{{ EDXAPP_MYSQL_DB_NAME }}.*:ALL'
when: EDXAPP_MYSQL_USER is defined when: EDXAPP_MYSQL_USER is defined
- name: create a database for edxapp - name: create a database for edxapp
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
mysql_user: > mysql_user: >
name={{ XQUEUE_MYSQL_USER }} name={{ XQUEUE_MYSQL_USER }}
password={{ XQUEUE_MYSQL_PASSWORD }} password={{ XQUEUE_MYSQL_PASSWORD }}
priv='{{XQUEUE_MYSQL_DB_NAME}}.*:ALL' priv='{{ XQUEUE_MYSQL_DB_NAME }}.*:ALL'
when: XQUEUE_MYSQL_USER is defined when: XQUEUE_MYSQL_USER is defined
- name: create a database for xqueue - name: create a database for xqueue
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
mysql_user: > mysql_user: >
name={{ ORA_MYSQL_USER }} name={{ ORA_MYSQL_USER }}
password={{ ORA_MYSQL_PASSWORD }} password={{ ORA_MYSQL_PASSWORD }}
priv='{{ORA_MYSQL_DB_NAME}}.*:ALL' priv='{{ ORA_MYSQL_DB_NAME }}.*:ALL'
when: ORA_MYSQL_USER is defined when: ORA_MYSQL_USER is defined
- name: create a database for ora - name: create a database for ora
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
# Path to directory where to store index data allocated for this node. # Path to directory where to store index data allocated for this node.
# #
path.data: {{elasticsearch_data_dir}} path.data: {{ elasticsearch_data_dir }}
# Path to log files: # Path to log files:
# #
path.logs: {{elasticsearch_log_dir}} path.logs: {{ elasticsearch_log_dir }}
# ElasticSearch performs poorly when JVM starts swapping: you should ensure that # ElasticSearch performs poorly when JVM starts swapping: you should ensure that
# it _never_ swaps. # it _never_ swaps.
......
...@@ -24,4 +24,4 @@ flower_deploy_path: "{{ flower_venv_bin }}:/usr/local/sbin:/usr/local/bin:/usr/b ...@@ -24,4 +24,4 @@ flower_deploy_path: "{{ flower_venv_bin }}:/usr/local/sbin:/usr/local/bin:/usr/b
flower_broker: "amqp://{{ FLOWER_BROKER_USERNAME }}:{{ FLOWER_BROKER_PASSWORD }}@{{ FLOWER_BROKER_HOST }}:{{ FLOWER_BROKER_PORT }}" flower_broker: "amqp://{{ FLOWER_BROKER_USERNAME }}:{{ FLOWER_BROKER_PASSWORD }}@{{ FLOWER_BROKER_HOST }}:{{ FLOWER_BROKER_PORT }}"
flower_environment: flower_environment:
PATH: $flower_deploy_path PATH: "{{ flower_deploy_path }}"
...@@ -18,7 +18,7 @@ FORUM_MONGO_HOSTS: ...@@ -18,7 +18,7 @@ FORUM_MONGO_HOSTS:
FORUM_MONGO_TAGS: !!null FORUM_MONGO_TAGS: !!null
FORUM_MONGO_PORT: "27017" FORUM_MONGO_PORT: "27017"
FORUM_MONGO_DATABASE: "cs_comments_service" FORUM_MONGO_DATABASE: "cs_comments_service"
FORUM_MONGO_URL: "mongodb://{{ FORUM_MONGO_USER }}:{{ FORUM_MONGO_PASSWORD }}@{%- for host in FORUM_MONGO_HOSTS -%}{{host}}:{{ FORUM_MONGO_PORT }}{%- if not loop.last -%},{%- endif -%}{%- endfor -%}/{{ FORUM_MONGO_DATABASE }}{%- if FORUM_MONGO_TAGS -%}?tags={{ FORUM_MONGO_TAGS }}{%- endif -%}" FORUM_MONGO_URL: "mongodb://{{ FORUM_MONGO_USER }}:{{ FORUM_MONGO_PASSWORD }}@{%- for host in FORUM_MONGO_HOSTS -%}{{ host }}:{{ FORUM_MONGO_PORT }}{%- if not loop.last -%},{%- endif -%}{%- endfor -%}/{{ FORUM_MONGO_DATABASE }}{%- if FORUM_MONGO_TAGS -%}?tags={{ FORUM_MONGO_TAGS }}{%- endif -%}"
FORUM_SINATRA_ENV: "development" FORUM_SINATRA_ENV: "development"
FORUM_RACK_ENV: "development" FORUM_RACK_ENV: "development"
FORUM_NGINX_PORT: "18080" FORUM_NGINX_PORT: "18080"
......
...@@ -10,7 +10,7 @@ env PID=/var/tmp/comments_service.pid ...@@ -10,7 +10,7 @@ env PID=/var/tmp/comments_service.pid
chdir {{ forum_code_dir }} chdir {{ forum_code_dir }}
script script
. {{forum_app_dir}}/forum_env . {{ forum_app_dir }}/forum_env
{{forum_app_dir}}/.rbenv/shims/ruby app.rb {{ forum_app_dir }}/.rbenv/shims/ruby app.rb
end script end script
...@@ -22,7 +22,7 @@ dependencies: ...@@ -22,7 +22,7 @@ dependencies:
- common - common
- aws - aws
- role: jenkins_master - role: jenkins_master
jenkins_plugins: $jenkins_admin_plugins jenkins_plugins: "{{ jenkins_admin_plugins }}"
- role: supervisor - role: supervisor
supervisor_app_dir: "{{ jenkins_supervisor_app_dir }}" supervisor_app_dir: "{{ jenkins_supervisor_app_dir }}"
supervisor_data_dir: "{{ jenkins_supervisor_data_dir }}" supervisor_data_dir: "{{ jenkins_supervisor_data_dir }}"
......
{% for deployment, creds in JENKINS_ADMIN_AWS_CREDENTIALS.iteritems() %} {% for deployment, creds in JENKINS_ADMIN_AWS_CREDENTIALS.iteritems() %}
[profile {{deployment}}] [profile {{ deployment }}]
aws_access_key_id = {{ creds.access_id }} aws_access_key_id = {{ creds.access_id }}
aws_secret_access_key = {{ creds.secret_key }} aws_secret_access_key = {{ creds.secret_key }}
......
{% for deployment, creds in JENKINS_ADMIN_AWS_CREDENTIALS.iteritems() %} {% for deployment, creds in JENKINS_ADMIN_AWS_CREDENTIALS.iteritems() %}
[profile {{deployment}}] [profile {{ deployment }}]
aws_access_key_id = {{ creds.access_id }} aws_access_key_id = {{ creds.access_id }}
aws_secret_access_key = {{ creds.secret_key }} aws_secret_access_key = {{ creds.secret_key }}
......
...@@ -46,7 +46,7 @@ rm -rf $BUILD_ID ...@@ -46,7 +46,7 @@ rm -rf $BUILD_ID
<profileName>{{ JENKINS_ADMIN_S3_PROFILE.name }}</profileName> <profileName>{{ JENKINS_ADMIN_S3_PROFILE.name }}</profileName>
<entries> <entries>
<hudson.plugins.s3.Entry> <hudson.plugins.s3.Entry>
<bucket>edx-jenkins-backups/{{JENKINS_ADMIN_NAME}}</bucket> <bucket>edx-jenkins-backups/{{ JENKINS_ADMIN_NAME }}</bucket>
<sourceFile>${BUILD_ID}.tar.gz</sourceFile> <sourceFile>${BUILD_ID}.tar.gz</sourceFile>
<storageClass>STANDARD</storageClass> <storageClass>STANDARD</storageClass>
<selectedRegion>US_EAST_1</selectedRegion> <selectedRegion>US_EAST_1</selectedRegion>
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
# Using this instead of the user module because the user module # Using this instead of the user module because the user module
# fails if the directory exists. # fails if the directory exists.
- name: set home directory for jenkins user - name: set home directory for jenkins user
shell: usermod -d {{jenkins_home}} {{jenkins_user}} shell: usermod -d {{ jenkins_home }} {{ jenkins_user }}
- name: make plugins directory - name: make plugins directory
file: file:
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
module: ec2 module: ec2
state: 'absent' state: 'absent'
region: "{{ region }}" region: "{{ region }}"
instance_ids: ${tag_lookup.instance_ids} instance_ids: "{{tag_lookup.instance_ids}}"
when: terminate_instance == true and tag_lookup.instance_ids|length == 1 when: terminate_instance == true and tag_lookup.instance_ids|length == 1
- name: deregister instance from an an elb if it was in one - name: deregister instance from an an elb if it was in one
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
assign_public_ip: yes assign_public_ip: yes
wait: true wait: true
region: "{{ region }}" region: "{{ region }}"
instance_tags: "{{instance_tags}}" instance_tags: "{{ instance_tags }}"
volumes: volumes:
- device_name: /dev/sda1 - device_name: /dev/sda1
volume_size: "{{ root_ebs_size }}" volume_size: "{{ root_ebs_size }}"
......
...@@ -18,15 +18,15 @@ ...@@ -18,15 +18,15 @@
- name: create ora application config - name: create ora application config
copy: copy:
src={{secure_dir}}/files/{{COMMON_ENVIRONMENT}}/legacy_ora/ora.env.json src={{ secure_dir }}/files/{{ COMMON_ENVIRONMENT }}/legacy_ora/ora.env.json
dest={{ora_app_dir}}/env.json dest={{ ora_app_dir }}/env.json
sudo_user: "{{ ora_user }}" sudo_user: "{{ ora_user }}"
register: env_state register: env_state
- name: create ora auth file - name: create ora auth file
copy: copy:
src={{secure_dir}}/files/{{COMMON_ENVIRONMENT}}/legacy_ora/ora.auth.json src={{ secure_dir }}/files/{{ COMMON_ENVIRONMENT }}/legacy_ora/ora.auth.json
dest={{ora_app_dir}}/auth.json dest={{ ora_app_dir }}/auth.json
sudo_user: "{{ ora_user }}" sudo_user: "{{ ora_user }}"
register: auth_state register: auth_state
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
get_url: url={{ logstash_url }} dest={{ logstash_app_dir }}/share/{{ logstash_file }} get_url: url={{ logstash_url }} dest={{ logstash_app_dir }}/share/{{ logstash_file }}
- name: ensure symlink with no version exists at {{ logstash_app_dir }}/share/logstash.jar - name: ensure symlink with no version exists at {{ logstash_app_dir }}/share/logstash.jar
file: src={{ logstash_app_dir }}/share/${logstash_file} dest={{ logstash_app_dir }}/share/logstash.jar state=link file: src={{ logstash_app_dir }}/share/{{ logstash_file }} dest={{ logstash_app_dir }}/share/logstash.jar state=link
- name: start logstash - name: start logstash
action: service name=logstash state=started enabled=yes action: service name=logstash state=started enabled=yes
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
- name: add the mongodb signing key - name: add the mongodb signing key
apt_key: > apt_key: >
id=7F0CEB10 id=7F0CEB10
url={{MONGODB_APT_KEY}} url={{ MONGODB_APT_KEY }}
state=present state=present
- name: add the mongodb repo to the sources list - name: add the mongodb repo to the sources list
......
...@@ -18,8 +18,8 @@ server { ...@@ -18,8 +18,8 @@ server {
{% if NGINX_ENABLE_SSL %} {% if NGINX_ENABLE_SSL %}
listen {{EDXAPP_CMS_NGINX_PORT}} {{default_site}}; listen {{ EDXAPP_CMS_NGINX_PORT }} {{ default_site }};
listen {{EDXAPP_CMS_SSL_NGINX_PORT}} ssl; listen {{ EDXAPP_CMS_SSL_NGINX_PORT }} ssl;
ssl_certificate /etc/ssl/certs/{{ NGINX_SSL_CERTIFICATE|basename }}; ssl_certificate /etc/ssl/certs/{{ NGINX_SSL_CERTIFICATE|basename }};
ssl_certificate_key /etc/ssl/private/{{ NGINX_SSL_KEY|basename }}; ssl_certificate_key /etc/ssl/private/{{ NGINX_SSL_KEY|basename }};
...@@ -27,7 +27,7 @@ server { ...@@ -27,7 +27,7 @@ server {
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
{% else %} {% else %}
listen {{EDXAPP_CMS_NGINX_PORT}} {{default_site}}; listen {{ EDXAPP_CMS_NGINX_PORT }} {{ default_site }};
{% endif %} {% endif %}
server_name {{ CMS_HOSTNAME }}; server_name {{ CMS_HOSTNAME }};
......
...@@ -32,7 +32,7 @@ upstream forum_app_server { ...@@ -32,7 +32,7 @@ upstream forum_app_server {
server { server {
server_name forum.*; server_name forum.*;
listen {{ FORUM_NGINX_PORT }} {{default_site}}; listen {{ FORUM_NGINX_PORT }} {{ default_site }};
client_max_body_size 1M; client_max_body_size 1M;
keepalive_timeout 5; keepalive_timeout 5;
......
...@@ -13,14 +13,14 @@ server { ...@@ -13,14 +13,14 @@ server {
{% if NGINX_ENABLE_SSL %} {% if NGINX_ENABLE_SSL %}
listen {{KIBANA_NGINX_PORT}} {{default_site}}; listen {{ KIBANA_NGINX_PORT }} {{ default_site }};
listen {{KIBANA_SSL_NGINX_PORT}} {{default_site}} ssl; listen {{ KIBANA_SSL_NGINX_PORT }} {{ default_site }} ssl;
ssl_certificate /etc/ssl/certs/{{ NGINX_SSL_CERTIFICATE|basename }}; ssl_certificate /etc/ssl/certs/{{ NGINX_SSL_CERTIFICATE|basename }};
ssl_certificate_key /etc/ssl/private/{{ NGINX_SSL_KEY|basename }}; ssl_certificate_key /etc/ssl/private/{{ NGINX_SSL_KEY|basename }};
{% else %} {% else %}
listen {{KIBANA_NGINX_PORT}} {{default_site}}; listen {{ KIBANA_NGINX_PORT }} {{ default_site }};
{% endif %} {% endif %}
server_name {{ KIBANA_SERVER_NAME }}; server_name {{ KIBANA_SERVER_NAME }};
......
...@@ -7,7 +7,7 @@ upstream lms-preview-backend { ...@@ -7,7 +7,7 @@ upstream lms-preview-backend {
server { server {
# LMS-preview configuration file for nginx, templated by ansible # LMS-preview configuration file for nginx, templated by ansible
listen {{EDXAPP_LMS_PREVIEW_NGINX_PORT}}; listen {{ EDXAPP_LMS_PREVIEW_NGINX_PORT }};
server_name preview.*; server_name preview.*;
......
...@@ -23,8 +23,8 @@ server { ...@@ -23,8 +23,8 @@ server {
{% if NGINX_ENABLE_SSL %} {% if NGINX_ENABLE_SSL %}
listen {{EDXAPP_LMS_NGINX_PORT}} {{default_site}}; listen {{ EDXAPP_LMS_NGINX_PORT }} {{ default_site }};
listen {{EDXAPP_LMS_SSL_NGINX_PORT}} {{default_site}} ssl; listen {{ EDXAPP_LMS_SSL_NGINX_PORT }} {{ default_site }} ssl;
ssl_certificate /etc/ssl/certs/{{ NGINX_SSL_CERTIFICATE|basename }}; ssl_certificate /etc/ssl/certs/{{ NGINX_SSL_CERTIFICATE|basename }};
ssl_certificate_key /etc/ssl/private/{{ NGINX_SSL_KEY|basename }}; ssl_certificate_key /etc/ssl/private/{{ NGINX_SSL_KEY|basename }};
...@@ -32,7 +32,7 @@ server { ...@@ -32,7 +32,7 @@ server {
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
{% else %} {% else %}
listen {{EDXAPP_LMS_NGINX_PORT}} {{default_site}}; listen {{ EDXAPP_LMS_NGINX_PORT }} {{ default_site }};
{% endif %} {% endif %}
access_log {{ nginx_log_dir }}/access.log {{ NGINX_LOG_FORMAT_NAME }}; access_log {{ nginx_log_dir }}/access.log {{ NGINX_LOG_FORMAT_NAME }};
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
- name: unarchive nltk data - name: unarchive nltk data
shell: > shell: >
unzip {{NLTK_DATA_DIR}}/{{ item.url|basename }} chdir="{{ NLTK_DATA_DIR }}/{{ item.path|dirname }}" unzip {{ NLTK_DATA_DIR }}/{{ item.url|basename }} chdir="{{ NLTK_DATA_DIR }}/{{ item.path|dirname }}"
with_items: NLTK_DATA with_items: NLTK_DATA
when: nltk_download|changed when: nltk_download|changed
tags: tags:
......
...@@ -32,9 +32,9 @@ ...@@ -32,9 +32,9 @@
- name: checkout theme - name: checkout theme
git: > git: >
dest={{ NOTIFIER_CODE_DIR }}/{{NOTIFIER_THEME_NAME}} dest={{ NOTIFIER_CODE_DIR }}/{{ NOTIFIER_THEME_NAME }}
repo={{NOTIFIER_THEME_REPO}} repo={{ NOTIFIER_THEME_REPO }}
version={{NOTIFIER_THEME_VERSION}} version={{ NOTIFIER_THEME_VERSION }}
accept_hostkey=yes accept_hostkey=yes
when: NOTIFIER_THEME_NAME != '' when: NOTIFIER_THEME_NAME != ''
sudo_user: "{{ NOTIFIER_USER }}" sudo_user: "{{ NOTIFIER_USER }}"
......
...@@ -2,5 +2,5 @@ from .settings import * ...@@ -2,5 +2,5 @@ from .settings import *
FORUM_DIGEST_EMAIL_SUBJECT = '{{ NOTIFIER_DIGEST_EMAIL_SUBJECT }}' FORUM_DIGEST_EMAIL_SUBJECT = '{{ NOTIFIER_DIGEST_EMAIL_SUBJECT }}'
CUSTOM_THEME_DIR = '{{ NOTIFIER_CODE_DIR }}/{{NOTIFIER_THEME_NAME}}/' CUSTOM_THEME_DIR = '{{ NOTIFIER_CODE_DIR }}/{{ NOTIFIER_THEME_NAME }}/'
TEMPLATE_DIRS = (CUSTOM_THEME_DIR + 'templates',) TEMPLATE_DIRS = (CUSTOM_THEME_DIR + 'templates',)
...@@ -87,61 +87,61 @@ ora_gunicorn_host: 127.0.0.1 ...@@ -87,61 +87,61 @@ ora_gunicorn_host: 127.0.0.1
# appropriate for running all edX # appropriate for running all edX
# services on a single server. # services on a single server.
ora_env_config: ora_env_config:
LOGGING_ENV: $ORA_LOGGING_ENV LOGGING_ENV: "{{ ORA_LOGGING_ENV }}"
LOG_DIR: "{{ COMMON_DATA_DIR }}/logs/xqueue" LOG_DIR: "{{ COMMON_DATA_DIR }}/logs/xqueue"
COURSE_DATA_PATH: "{{ ora_data_course_dir }}" COURSE_DATA_PATH: "{{ ora_data_course_dir }}"
REQUESTS_TIMEOUT: $ORA_REQUESTS_TIMEOUT REQUESTS_TIMEOUT: "{{ ORA_REQUESTS_TIMEOUT }}"
QUEUES_TO_PULL_FROM: $ORA_QUEUES_TO_PULL_FROM QUEUES_TO_PULL_FROM: "{{ ORA_QUEUES_TO_PULL_FROM }}"
TIME_BETWEEN_XQUEUE_PULLS: $ORA_TIME_BETWEEN_XQUEUE_PULLS TIME_BETWEEN_XQUEUE_PULLS: "{{ ORA_TIME_BETWEEN_XQUEUE_PULLS }}"
TIME_BETWEEN_EXPIRED_CHECKS: $ORA_TIME_BETWEEN_EXPIRED_CHECKS TIME_BETWEEN_EXPIRED_CHECKS: "{{ ORA_TIME_BETWEEN_EXPIRED_CHECKS }}"
GRADER_SETTINGS_DIRECTORY: $ORA_GRADER_SETTINGS_DIRECTORY GRADER_SETTINGS_DIRECTORY: "{{ ORA_GRADER_SETTINGS_DIRECTORY }}"
MAX_NUMBER_OF_TIMES_TO_RETRY_GRADING: $ORA_MAX_NUMBER_OF_TIMES_TO_RETRY_GRADING MAX_NUMBER_OF_TIMES_TO_RETRY_GRADING: "{{ ORA_MAX_NUMBER_OF_TIMES_TO_RETRY_GRADING }}"
MIN_TO_USE_ML: $ORA_MIN_TO_USE_ML MIN_TO_USE_ML: "{{ ORA_MIN_TO_USE_ML }}"
ML_PATH: $ORA_ML_PATH ML_PATH: "{{ ORA_ML_PATH }}"
ML_MODEL_PATH: $ORA_ML_MODEL_PATH ML_MODEL_PATH: "{{ ORA_ML_MODEL_PATH }}"
TIME_BETWEEN_ML_CREATOR_CHECKS: $ORA_TIME_BETWEEN_ML_CREATOR_CHECKS TIME_BETWEEN_ML_CREATOR_CHECKS: "{{ ORA_TIME_BETWEEN_ML_CREATOR_CHECKS }}"
TIME_BETWEEN_ML_GRADER_CHECKS: $ORA_TIME_BETWEEN_ML_GRADER_CHECKS TIME_BETWEEN_ML_GRADER_CHECKS: "{{ ORA_TIME_BETWEEN_ML_GRADER_CHECKS }}"
MIN_TO_USE_PEER: $ORA_MIN_TO_USE_PEER MIN_TO_USE_PEER: "{{ ORA_MIN_TO_USE_PEER }}"
PEER_GRADER_COUNT: $ORA_PEER_GRADER_COUNT PEER_GRADER_COUNT: "{{ ORA_PEER_GRADER_COUNT }}"
PEER_GRADER_MINIMUM_TO_CALIBRATE: $ORA_PEER_GRADER_MINIMUM_TO_CALIBRATE PEER_GRADER_MINIMUM_TO_CALIBRATE: "{{ ORA_PEER_GRADER_MINIMUM_TO_CALIBRATE }}"
PEER_GRADER_MAXIMUM_TO_CALIBRATE: $ORA_PEER_GRADER_MAXIMUM_TO_CALIBRATE PEER_GRADER_MAXIMUM_TO_CALIBRATE: "{{ ORA_PEER_GRADER_MAXIMUM_TO_CALIBRATE }}"
PEER_GRADER_MIN_NORMALIZED_CALIBRATION_ERROR: $ORA_PEER_GRADER_MIN_NORMALIZED_CALIBRATION_ERROR PEER_GRADER_MIN_NORMALIZED_CALIBRATION_ERROR: "{{ ORA_PEER_GRADER_MIN_NORMALIZED_CALIBRATION_ERROR }}"
EXPIRE_SUBMISSIONS_AFTER: $ORA_EXPIRE_SUBMISSIONS_AFTER EXPIRE_SUBMISSIONS_AFTER: "{{ ORA_EXPIRE_SUBMISSIONS_AFTER }}"
RESET_SUBMISSIONS_AFTER: $ORA_RESET_SUBMISSIONS_AFTER RESET_SUBMISSIONS_AFTER: "{{ ORA_RESET_SUBMISSIONS_AFTER }}"
LOCAL_LOGLEVEL: $ORA_LOCAL_LOGLEVEL LOCAL_LOGLEVEL: "{{ ORA_LOCAL_LOGLEVEL }}"
DEBUG: $ORA_DEBUG DEBUG: "{{ ORA_DEBUG }}"
SYSLOG_SERVER: ORA_SYSLOG_SERVER SYSLOG_SERVER: ORA_SYSLOG_SERVER
USE_S3_TO_STORE_MODELS: ORA_USE_S3_TO_STORE_MODELS USE_S3_TO_STORE_MODELS: ORA_USE_S3_TO_STORE_MODELS
S3_BUCKETNAME: $ORA_S3_BUCKETNAME S3_BUCKETNAME: "{{ ORA_S3_BUCKETNAME }}"
ora_auth_config: ora_auth_config:
USERS: $ORA_USERS USERS: "{{ ORA_USERS }}"
XQUEUE_INTERFACE: XQUEUE_INTERFACE:
django_auth: django_auth:
username: $ORA_XQUEUE_DJANGO_USER username: "{{ ORA_XQUEUE_DJANGO_USER }}"
password: $ORA_XQUEUE_DJANGO_PASSWORD password: "{{ ORA_XQUEUE_DJANGO_PASSWORD }}"
basic_auth: [ $ORA_XQUEUE_BASIC_AUTH_USER, $ORA_XQUEUE_BASIC_AUTH_PASSWORD ] basic_auth: [ "{{ ORA_XQUEUE_BASIC_AUTH_USER }}", "{{ORA_XQUEUE_BASIC_AUTH_PASSWORD}}" ]
url: $ORA_XQUEUE_URL url: "{{ ORA_XQUEUE_URL }}"
GRADING_CONTROLLER_INTERFACE: GRADING_CONTROLLER_INTERFACE:
django_auth: django_auth:
password: $ORA_DJANGO_PASSWORD password: "{{ ORA_DJANGO_PASSWORD }}"
username: $ORA_DJANGO_USER username: "{{ ORA_DJANGO_USER }}"
url: $ORA_URL url: "{{ ORA_URL }}"
DATABASES: DATABASES:
default: default:
ENGINE: 'django.db.backends.mysql' ENGINE: 'django.db.backends.mysql'
NAME: $ORA_MYSQL_DB_NAME NAME: "{{ ORA_MYSQL_DB_NAME }}"
USER: $ORA_MYSQL_USER USER: "{{ ORA_MYSQL_USER }}"
PASSWORD: $ORA_MYSQL_PASSWORD PASSWORD: "{{ ORA_MYSQL_PASSWORD }}"
HOST: $ORA_MYSQL_HOST HOST: "{{ ORA_MYSQL_HOST }}"
PORT: $ORA_MYSQL_PORT PORT: "{{ ORA_MYSQL_PORT }}"
AWS_ACCESS_KEY_ID: $ORA_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID: "{{ ORA_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: $ORA_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY: "{{ ORA_AWS_SECRET_ACCESS_KEY }}"
ora_environment: ora_environment:
SERVICE_VARIANT: ora SERVICE_VARIANT: ora
LANG: $ORA_LANG LANG: "{{ ORA_LANG }}"
PATH: $ora_deploy_path PATH: "{{ ora_deploy_path }}"
ora_debian_pkgs: ora_debian_pkgs:
- python-software-properties - python-software-properties
......
...@@ -22,11 +22,11 @@ ...@@ -22,11 +22,11 @@
- include: ease.yml - include: ease.yml
- name: create ora application config - name: create ora application config
template: src=ora.env.json.j2 dest={{ora_app_dir}}/ora.env.json template: src=ora.env.json.j2 dest={{ ora_app_dir }}/ora.env.json
sudo_user: "{{ ora_user }}" sudo_user: "{{ ora_user }}"
- name: create ora auth file - name: create ora auth file
template: src=ora.auth.json.j2 dest={{ora_app_dir}}/ora.auth.json template: src=ora.auth.json.j2 dest={{ ora_app_dir }}/ora.auth.json
sudo_user: "{{ ora_user }}" sudo_user: "{{ ora_user }}"
- name: setup the ora env - name: setup the ora env
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
- restart ora_celery - restart ora_celery
- name: syncdb and migrate - name: syncdb and migrate
shell: SERVICE_VARIANT=ora {{ora_venv_dir}}/bin/django-admin.py syncdb --migrate --noinput --settings=edx_ora.aws --pythonpath={{ora_code_dir}} shell: SERVICE_VARIANT=ora {{ ora_venv_dir }}/bin/django-admin.py syncdb --migrate --noinput --settings=edx_ora.aws --pythonpath={{ ora_code_dir }}
when: migrate_db is defined and migrate_db|lower == "yes" when: migrate_db is defined and migrate_db|lower == "yes"
sudo_user: "{{ ora_user }}" sudo_user: "{{ ora_user }}"
notify: notify:
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
- restart ora_celery - restart ora_celery
- name: create users - name: create users
shell: SERVICE_VARIANT=ora {{ora_venv_dir}}/bin/django-admin.py update_users --settings=edx_ora.aws --pythonpath={{ora_code_dir}} shell: SERVICE_VARIANT=ora {{ ora_venv_dir }}/bin/django-admin.py update_users --settings=edx_ora.aws --pythonpath={{ ora_code_dir }}
sudo_user: "{{ ora_user }}" sudo_user: "{{ ora_user }}"
notify: notify:
- restart ora - restart ora
......
# Do A Checkout # Do A Checkout
- name: git checkout ease repo into its base dir - name: git checkout ease repo into its base dir
git: > git: >
dest={{ora_ease_code_dir}} repo={{ora_ease_source_repo}} version={{ora_ease_version}} dest={{ ora_ease_code_dir }} repo={{ ora_ease_source_repo }} version={{ora_ease_version}}
accept_hostkey=yes accept_hostkey=yes
sudo_user: "{{ ora_user }}" sudo_user: "{{ ora_user }}"
notify: notify:
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
- restart ora_celery - restart ora_celery
- name: install ease system packages - name: install ease system packages
apt: pkg={{item}} state=present apt: pkg={{ item }} state=present
with_items: ora_ease_debian_pkgs with_items: ora_ease_debian_pkgs
notify: notify:
- restart ora - restart ora
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
# Install the python pre requirements into {{ ora_ease_venv_dir }} # Install the python pre requirements into {{ ora_ease_venv_dir }}
- name: install ease python pre-requirements - name: install ease python pre-requirements
pip: > pip: >
requirements="{{ora_ease_pre_requirements_file}}" virtualenv="{{ora_ease_venv_dir}}" state=present requirements="{{ ora_ease_pre_requirements_file }}" virtualenv="{{ ora_ease_venv_dir }}" state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ ora_user }}" sudo_user: "{{ ora_user }}"
notify: notify:
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
# Install the python post requirements into {{ ora_ease_venv_dir }} # Install the python post requirements into {{ ora_ease_venv_dir }}
- name: install ease python post-requirements - name: install ease python post-requirements
pip: > pip: >
requirements="{{ora_ease_post_requirements_file}}" virtualenv="{{ora_ease_venv_dir}}" state=present requirements="{{ ora_ease_post_requirements_file }}" virtualenv="{{ ora_ease_venv_dir }}" state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ ora_user }}" sudo_user: "{{ ora_user }}"
notify: notify:
......
...@@ -35,14 +35,14 @@ ...@@ -35,14 +35,14 @@
- "{{ ora_app_dir }}/ml_models" - "{{ ora_app_dir }}/ml_models"
- name: install debian packages that ora needs - name: install debian packages that ora needs
apt: pkg={{item}} state=present apt: pkg={{ item }} state=present
notify: notify:
- restart ora - restart ora
- restart ora_celery - restart ora_celery
with_items: ora_debian_pkgs with_items: ora_debian_pkgs
- name: install debian packages for ease that ora needs - name: install debian packages for ease that ora needs
apt: pkg={{item}} state=present apt: pkg={{ item }} state=present
notify: notify:
- restart ora - restart ora
- restart ora_celery - restart ora_celery
......
export JAVA_HOME="{{oraclejdk_link}}" export JAVA_HOME="{{ oraclejdk_link }}"
export PATH=$JAVA_HOME/bin:$PATH export PATH=$JAVA_HOME/bin:$PATH
...@@ -43,9 +43,9 @@ rabbitmq_debian_pkgs: ...@@ -43,9 +43,9 @@ rabbitmq_debian_pkgs:
rabbitmq_config_dir: "/etc/rabbitmq" rabbitmq_config_dir: "/etc/rabbitmq"
rabbitmq_cookie_dir: "/var/lib/rabbitmq" rabbitmq_cookie_dir: "/var/lib/rabbitmq"
rabbitmq_cookie_location: "{{rabbitmq_cookie_dir}}/.erlang.cookie" rabbitmq_cookie_location: "{{ rabbitmq_cookie_dir }}/.erlang.cookie"
rabbitmq_mnesia_folder: "{{rabbitmq_cookie_dir}}/mnesia" rabbitmq_mnesia_folder: "{{ rabbitmq_cookie_dir }}/mnesia"
rabbitmq_port: 5672 rabbitmq_port: 5672
rabbitmq_management_port: 15672 rabbitmq_management_port: 15672
...@@ -53,8 +53,8 @@ rabbitmq_ip: "{{ ansible_default_ipv4.address }}" ...@@ -53,8 +53,8 @@ rabbitmq_ip: "{{ ansible_default_ipv4.address }}"
# Structure for auth config file. # Structure for auth config file.
rabbitmq_auth_config: rabbitmq_auth_config:
erlang_cookie: $RABBIT_ERLANG_COOKIE erlang_cookie: "{{ RABBIT_ERLANG_COOKIE }}"
admins: $RABBIT_USERS admins: "{{ RABBIT_USERS }}"
rabbitmq_clustered_hosts: [] rabbitmq_clustered_hosts: []
......
...@@ -4,13 +4,13 @@ ...@@ -4,13 +4,13 @@
# http://rabbitmq.1065348.n5.nabble.com/Rabbitmq-boot-failure-with-quot-tables-not-present-quot-td24494.html # http://rabbitmq.1065348.n5.nabble.com/Rabbitmq-boot-failure-with-quot-tables-not-present-quot-td24494.html
- name: trust rabbit repository - name: trust rabbit repository
apt_key: url={{rabbitmq_apt_key}} state=present apt_key: url={{ rabbitmq_apt_key }} state=present
- name: install python-software-properties if debian - name: install python-software-properties if debian
apt: pkg={{",".join(rabbitmq_debian_pkgs)}} state=present apt: pkg={{ ",".join(rabbitmq_debian_pkgs) }} state=present
- name: add rabbit repository - name: add rabbit repository
apt_repository_1.8: repo="{{rabbitmq_repository}}" state=present update_cache=yes validate_certs=no apt_repository_1.8: repo="{{ rabbitmq_repository }}" state=present update_cache=yes validate_certs=no
- name: fetch the rabbitmq server deb - name: fetch the rabbitmq server deb
get_url: > get_url: >
...@@ -63,30 +63,30 @@ ...@@ -63,30 +63,30 @@
# Defaulting to /var/lib/rabbitmq # Defaulting to /var/lib/rabbitmq
- name: create cookie directory - name: create cookie directory
file: > file: >
path={{rabbitmq_cookie_dir}} path={{ rabbitmq_cookie_dir }}
owner=rabbitmq group=rabbitmq mode=0755 state=directory owner=rabbitmq group=rabbitmq mode=0755 state=directory
- name: add rabbitmq erlang cookie - name: add rabbitmq erlang cookie
template: > template: >
src=erlang.cookie.j2 dest={{rabbitmq_cookie_location}} src=erlang.cookie.j2 dest={{ rabbitmq_cookie_location }}
owner=rabbitmq group=rabbitmq mode=0400 owner=rabbitmq group=rabbitmq mode=0400
register: erlang_cookie register: erlang_cookie
# Defaulting to /etc/rabbitmq # Defaulting to /etc/rabbitmq
- name: create rabbitmq config directory - name: create rabbitmq config directory
file: > file: >
path={{rabbitmq_config_dir}} path={{ rabbitmq_config_dir }}
owner=root group=root mode=0755 state=directory owner=root group=root mode=0755 state=directory
- name: add rabbitmq environment configuration - name: add rabbitmq environment configuration
template: > template: >
src=rabbitmq-env.conf.j2 dest={{rabbitmq_config_dir}}/rabbitmq-env.conf src=rabbitmq-env.conf.j2 dest={{ rabbitmq_config_dir }}/rabbitmq-env.conf
owner=root group=root mode=0644 owner=root group=root mode=0644
- name: add rabbitmq cluster configuration - name: add rabbitmq cluster configuration
template: > template: >
src=etc/rabbitmq/rabbitmq.config.j2 src=etc/rabbitmq/rabbitmq.config.j2
dest={{rabbitmq_config_dir}}/rabbitmq.config dest={{ rabbitmq_config_dir }}/rabbitmq.config
owner=root group=root mode=0644 owner=root group=root mode=0644
register: cluster_configuration register: cluster_configuration
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
# This folder should be deleted before clustering is setup because it retains data # This folder should be deleted before clustering is setup because it retains data
# that can conflict with the clustering information. # that can conflict with the clustering information.
- name: remove mnesia configuration - name: remove mnesia configuration
file: path={{rabbitmq_mnesia_folder}} state=absent file: path={{ rabbitmq_mnesia_folder }} state=absent
when: erlang_cookie.changed or cluster_configuration.changed or rabbitmq_refresh when: erlang_cookie.changed or cluster_configuration.changed or rabbitmq_refresh
- name: start rabbit nodes - name: start rabbit nodes
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
configure_priv='.*' tags="administrator" state=present configure_priv='.*' tags="administrator" state=present
vhost={{ item[1] }} vhost={{ item[1] }}
with_nested: with_nested:
- ${rabbitmq_auth_config.admins} - "{{rabbitmq_auth_config.admins}}"
- RABBITMQ_VHOSTS - RABBITMQ_VHOSTS
when: "'admins' in rabbitmq_auth_config" when: "'admins' in rabbitmq_auth_config"
tags: tags:
......
#### Enable periodic security updates #### Enable periodic security updates
- name: install security packages - name: install security packages
apt: name={{item}} state=latest apt: name={{ item }} state=latest
with_items: security_debian_pkgs with_items: security_debian_pkgs
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
--- ---
- name: Installs shib and dependencies from apt - name: Installs shib and dependencies from apt
apt: pkg={{item}} install_recommends=no state=present update_cache=yes apt: pkg={{ item }} install_recommends=no state=present update_cache=yes
with_items: with_items:
- shibboleth-sp2-schemas - shibboleth-sp2-schemas
- libshibsp-dev - libshibsp-dev
...@@ -24,14 +24,14 @@ ...@@ -24,14 +24,14 @@
when: shib_download_metadata when: shib_download_metadata
- name: writes out key and pem file - name: writes out key and pem file
template: src=sp.{{item}}.j2 dest=/etc/shibboleth/sp.{{item}} group=_shibd owner=_shibd mode=0600 template: src=sp.{{ item }}.j2 dest=/etc/shibboleth/sp.{{ item }} group=_shibd owner=_shibd mode=0600
with_items: with_items:
- key - key
- pem - pem
notify: restart shibd notify: restart shibd
- name: writes out configuration files - name: writes out configuration files
template: src={{ shib_template_dir }}/{{item}}.j2 dest=/etc/shibboleth/{{item}} group=_shibd owner=_shibd mode=0644 template: src={{ shib_template_dir }}/{{ item }}.j2 dest=/etc/shibboleth/{{ item }} group=_shibd owner=_shibd mode=0644
with_items: with_items:
- attribute-map.xml - attribute-map.xml
- shibboleth2.xml - shibboleth2.xml
......
...@@ -28,23 +28,23 @@ SPLUNKFORWARDER_SERVERS: ...@@ -28,23 +28,23 @@ SPLUNKFORWARDER_SERVERS:
SPLUNKFORWARDER_LOG_ITEMS: SPLUNKFORWARDER_LOG_ITEMS:
- source: '{{ COMMON_LOG_DIR }}/lms' - source: '{{ COMMON_LOG_DIR }}/lms'
recursive: true recursive: true
index: '{{COMMON_ENVIRONMENT}}-{{COMMON_DEPLOYMENT}}' index: '{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}'
sourcetype: 'edx' sourcetype: 'edx'
- source: '{{ COMMON_LOG_DIR }}/cms' - source: '{{ COMMON_LOG_DIR }}/cms'
recursive: true recursive: true
index: '{{COMMON_ENVIRONMENT}}-{{COMMON_DEPLOYMENT}}' index: '{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}'
sourcetype: 'edx' sourcetype: 'edx'
- source: '{{ COMMON_LOG_DIR }}' - source: '{{ COMMON_LOG_DIR }}'
recursive: true recursive: true
index: '{{COMMON_ENVIRONMENT}}-{{COMMON_DEPLOYMENT}}' index: '{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}'
sourcetype: 'syslog' sourcetype: 'syslog'
- source: '/var/log' - source: '/var/log'
recursive: true recursive: true
index: '{{COMMON_ENVIRONMENT}}-{{COMMON_DEPLOYMENT}}' index: '{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}'
sourcetype: 'syslog' sourcetype: 'syslog'
- source: '{{ COMMON_LOG_DIR }}/nginx' - source: '{{ COMMON_LOG_DIR }}/nginx'
recursive: true recursive: true
index: '{{COMMON_ENVIRONMENT}}-{{COMMON_DEPLOYMENT}}' index: '{{ COMMON_ENVIRONMENT }}-{{ COMMON_DEPLOYMENT }}'
sourcetype: 'nginx' sourcetype: 'nginx'
# #
......
...@@ -31,12 +31,12 @@ ...@@ -31,12 +31,12 @@
- name: download the splunk deb - name: download the splunk deb
get_url: > get_url: >
dest="/tmp/{{SPLUNKFORWARDER_DEB}}" dest="/tmp/{{ SPLUNKFORWARDER_DEB }}"
url="{{SPLUNKFORWARDER_PACKAGE_URL}}" url="{{ SPLUNKFORWARDER_PACKAGE_URL }}"
register: download_deb register: download_deb
- name: install splunk forwarder - name: install splunk forwarder
shell: gdebi -nq /tmp/{{SPLUNKFORWARDER_DEB}} shell: gdebi -nq /tmp/{{ SPLUNKFORWARDER_DEB }}
when: download_deb.changed when: download_deb.changed
# Create splunk user # Create splunk user
...@@ -49,19 +49,19 @@ ...@@ -49,19 +49,19 @@
# to run some of the below commands. # to run some of the below commands.
- name: start splunk manually - name: start splunk manually
shell: > shell: >
{{splunkforwarder_output_dir}}/bin/splunk start --accept-license --answer-yes --no-prompt {{ splunkforwarder_output_dir }}/bin/splunk start --accept-license --answer-yes --no-prompt
creates={{splunkforwarder_output_dir}}/var/lib/splunk creates={{ splunkforwarder_output_dir }}/var/lib/splunk
when: download_deb.changed when: download_deb.changed
register: started_manually register: started_manually
- name: stop splunk manually - name: stop splunk manually
shell: > shell: >
{{splunkforwarder_output_dir}}/bin/splunk stop --accept-license --answer-yes --no-prompt {{ splunkforwarder_output_dir }}/bin/splunk stop --accept-license --answer-yes --no-prompt
when: download_deb.changed and started_manually.changed when: download_deb.changed and started_manually.changed
- name: create boot script - name: create boot script
shell: > shell: >
{{splunkforwarder_output_dir}}/bin/splunk enable boot-start -user splunk --accept-license --answer-yes --no-prompt {{ splunkforwarder_output_dir }}/bin/splunk enable boot-start -user splunk --accept-license --answer-yes --no-prompt
creates=/etc/init.d/splunk creates=/etc/init.d/splunk
register: create_boot_script register: create_boot_script
when: download_deb.changed when: download_deb.changed
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
# Update credentials # Update credentials
- name: update admin pasword - name: update admin pasword
shell: "{{splunkforwarder_output_dir}}/bin/splunk edit user admin -password {{SPLUNKFORWARDER_PASSWORD}} -auth admin:changeme --accept-license --answer-yes --no-prompt" shell: "{{ splunkforwarder_output_dir }}/bin/splunk edit user admin -password {{ SPLUNKFORWARDER_PASSWORD }} -auth admin:changeme --accept-license --answer-yes --no-prompt"
when: download_deb.changed when: download_deb.changed
notify: restart splunkforwarder notify: restart splunkforwarder
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
# Ensure permissions on splunk content # Ensure permissions on splunk content
- name: ensure splunk forder permissions - name: ensure splunk forder permissions
file: path={{splunkforwarder_output_dir}} state=directory recurse=yes owner=splunk group=splunk file: path={{ splunkforwarder_output_dir }} state=directory recurse=yes owner=splunk group=splunk
when: download_deb.changed when: download_deb.changed
notify: restart splunkforwarder notify: restart splunkforwarder
......
...@@ -97,13 +97,13 @@ ...@@ -97,13 +97,13 @@
- name: install supervisor in its venv - name: install supervisor in its venv
pip: > pip: >
name=supervisor virtualenv="{{supervisor_venv_dir}}" state=present name=supervisor virtualenv="{{ supervisor_venv_dir }}" state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ supervisor_user }}" sudo_user: "{{ supervisor_user }}"
- name: install supervisor in its venv - name: install supervisor in its venv
pip: > pip: >
name={{ item }} virtualenv="{{supervisor_venv_dir}}" state=present name={{ item }} virtualenv="{{ supervisor_venv_dir }}" state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ supervisor_user }}" sudo_user: "{{ supervisor_user }}"
with_items: supervisor_pip_pkgs with_items: supervisor_pip_pkgs
...@@ -156,7 +156,7 @@ ...@@ -156,7 +156,7 @@
- name: start supervisor - name: start supervisor
service: > service: >
name={{supervisor_service}} name={{ supervisor_service }}
state=started state=started
register: start_supervisor register: start_supervisor
......
...@@ -5,4 +5,4 @@ task ...@@ -5,4 +5,4 @@ task
setuid {{ supervisor_user }} setuid {{ supervisor_user }}
exec {{ supervisor_venv_dir }}/bin/python {{ supervisor_app_dir }}/pre_supervisor_checks.py --available={{supervisor_available_dir}} --enabled={{supervisor_cfg_dir}} {% if SUPERVISOR_HIPCHAT_API_KEY is defined %}--hipchat-api-key {{ SUPERVISOR_HIPCHAT_API_KEY }} --hipchat-room {{ SUPERVISOR_HIPCHAT_ROOM }} {% endif %} {% if edxapp_code_dir is defined %}--edxapp-python {{ COMMON_BIN_DIR }}/python.edxapp --edxapp-code-dir {{ edxapp_code_dir }}{% endif %} {% if xqueue_code_dir is defined %}--xqueue-code-dir {{ xqueue_code_dir }} --xqueue-python {{ COMMON_BIN_DIR }}/python.xqueue {% endif %} exec {{ supervisor_venv_dir }}/bin/python {{ supervisor_app_dir }}/pre_supervisor_checks.py --available={{ supervisor_available_dir }} --enabled={{ supervisor_cfg_dir }} {% if SUPERVISOR_HIPCHAT_API_KEY is defined %}--hipchat-api-key {{ SUPERVISOR_HIPCHAT_API_KEY }} --hipchat-room {{ SUPERVISOR_HIPCHAT_ROOM }} {% endif %} {% if edxapp_code_dir is defined %}--edxapp-python {{ COMMON_BIN_DIR }}/python.edxapp --edxapp-code-dir {{ edxapp_code_dir }}{% endif %} {% if xqueue_code_dir is defined %}--xqueue-code-dir {{ xqueue_code_dir }} --xqueue-python {{ COMMON_BIN_DIR }}/python.xqueue {% endif %}
...@@ -56,33 +56,33 @@ xqueue_gunicorn_port: 8040 ...@@ -56,33 +56,33 @@ xqueue_gunicorn_port: 8040
xqueue_gunicorn_host: 127.0.0.1 xqueue_gunicorn_host: 127.0.0.1
xqueue_env_config: xqueue_env_config:
XQUEUES: $XQUEUE_QUEUES XQUEUES: "{{ XQUEUE_QUEUES }}"
XQUEUE_WORKERS_PER_QUEUE: $XQUEUE_WORKERS_PER_QUEUE XQUEUE_WORKERS_PER_QUEUE: "{{ XQUEUE_WORKERS_PER_QUEUE }}"
LOGGING_ENV : $XQUEUE_LOGGING_ENV LOGGING_ENV: "{{ XQUEUE_LOGGING_ENV }}"
SYSLOG_SERVER: $XQUEUE_SYSLOG_SERVER SYSLOG_SERVER: "{{ XQUEUE_SYSLOG_SERVER }}"
LOG_DIR : "{{ COMMON_DATA_DIR }}/logs/xqueue" LOG_DIR: "{{ COMMON_DATA_DIR }}/logs/xqueue"
RABBIT_HOST : $XQUEUE_RABBITMQ_HOSTNAME RABBIT_HOST: "{{ XQUEUE_RABBITMQ_HOSTNAME }}"
S3_BUCKET : $XQUEUE_S3_BUCKET S3_BUCKET: "{{ XQUEUE_S3_BUCKET }}"
S3_PATH_PREFIX: $XQUEUE_S3_PATH_PREFIX S3_PATH_PREFIX: "{{ XQUEUE_S3_PATH_PREFIX }}"
LOCAL_LOGLEVEL: $XQUEUE_LOCAL_LOGLEVEL LOCAL_LOGLEVEL: "{{ XQUEUE_LOCAL_LOGLEVEL }}"
xqueue_auth_config: xqueue_auth_config:
AWS_ACCESS_KEY_ID: $XQUEUE_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID: "{{ XQUEUE_AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: $XQUEUE_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY: "{{ XQUEUE_AWS_SECRET_ACCESS_KEY }}"
REQUESTS_BASIC_AUTH: [$XQUEUE_BASIC_AUTH_USER, $XQUEUE_BASIC_AUTH_PASSWORD] REQUESTS_BASIC_AUTH: ["{{ XQUEUE_BASIC_AUTH_USER }}", "{{XQUEUE_BASIC_AUTH_PASSWORD}}"]
USERS: $XQUEUE_DJANGO_USERS USERS: "{{ XQUEUE_DJANGO_USERS }}"
DATABASES: DATABASES:
default: default:
ENGINE: "django.db.backends.mysql" ENGINE: "django.db.backends.mysql"
NAME: $XQUEUE_MYSQL_DB_NAME NAME: "{{ XQUEUE_MYSQL_DB_NAME }}"
USER: $XQUEUE_MYSQL_USER USER: "{{ XQUEUE_MYSQL_USER }}"
PASSWORD: $XQUEUE_MYSQL_PASSWORD PASSWORD: "{{ XQUEUE_MYSQL_PASSWORD }}"
HOST: $XQUEUE_MYSQL_HOST HOST: "{{ XQUEUE_MYSQL_HOST }}"
PORT: $XQUEUE_MYSQL_PORT PORT: "{{ XQUEUE_MYSQL_PORT }}"
RABBITMQ_USER: $XQUEUE_RABBITMQ_USER RABBITMQ_USER: "{{ XQUEUE_RABBITMQ_USER }}"
RABBITMQ_PASS: $XQUEUE_RABBITMQ_PASS RABBITMQ_PASS: "{{ XQUEUE_RABBITMQ_PASS }}"
xqueue_source_repo: https://github.com/edx/xqueue.git xqueue_source_repo: "https://github.com/edx/xqueue.git"
xqueue_version: 'HEAD' xqueue_version: 'HEAD'
xqueue_pre_requirements_file: "{{ xqueue_code_dir }}/pre-requirements.txt" xqueue_pre_requirements_file: "{{ xqueue_code_dir }}/pre-requirements.txt"
xqueue_post_requirements_file: "{{ xqueue_code_dir }}/requirements.txt" xqueue_post_requirements_file: "{{ xqueue_code_dir }}/requirements.txt"
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# - group_vars/all # - group_vars/all
# - common/tasks/main.yml # - common/tasks/main.yml
--- ---
# Check out xqueue repo to {{xqueue_code_dir}} # Check out xqueue repo to {{ xqueue_code_dir }}
# #
# #
......
[program:xqueue_consumer] [program:xqueue_consumer]
command={{xqueue_venv_bin}}/django-admin.py run_consumer --pythonpath={{xqueue_code_dir}} --settings=xqueue.aws_settings $WORKERS_PER_QUEUE command={{ xqueue_venv_bin }}/django-admin.py run_consumer --pythonpath={{ xqueue_code_dir }} --settings=xqueue.aws_settings $WORKERS_PER_QUEUE
user={{ common_web_user }} user={{ common_web_user }}
directory={{ xqueue_code_dir }} directory={{ xqueue_code_dir }}
......
...@@ -32,11 +32,11 @@ xserver_grader_root: "{{ XSERVER_GRADER_DIR }}/graders" ...@@ -32,11 +32,11 @@ xserver_grader_root: "{{ XSERVER_GRADER_DIR }}/graders"
xserver_git_identity: "{{ xserver_app_dir }}/xserver-identity" xserver_git_identity: "{{ xserver_app_dir }}/xserver-identity"
xserver_env_config: xserver_env_config:
RUN_URL: $XSERVER_RUN_URL RUN_URL: "{{ XSERVER_RUN_URL }}"
GRADER_ROOT: $xserver_grader_root GRADER_ROOT: "{{ xserver_grader_root }}"
LOGGING_ENV: $XSERVER_LOGGING_ENV LOGGING_ENV: "{{ XSERVER_LOGGING_ENV }}"
LOG_DIR: "{{ xserver_log_dir }}" LOG_DIR: "{{ xserver_log_dir }}"
SYSLOG_SERVER: $XSERVER_SYSLOG_SERVER SYSLOG_SERVER: "{{ XSERVER_SYSLOG_SERVER }}"
SANDBOX_PYTHON: '{{ xserver_venv_sandbox_dir }}/bin/python' SANDBOX_PYTHON: '{{ xserver_venv_sandbox_dir }}/bin/python'
xserver_source_repo: "git://github.com/edx/xserver.git" xserver_source_repo: "git://github.com/edx/xserver.git"
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
- name: checkout code - name: checkout code
git: > git: >
dest={{xserver_code_dir}} repo={{xserver_source_repo}} version={{xserver_version}} dest={{ xserver_code_dir }} repo={{ xserver_source_repo }} version={{xserver_version}}
accept_hostkey=yes accept_hostkey=yes
sudo_user: "{{ xserver_user }}" sudo_user: "{{ xserver_user }}"
register: xserver_checkout register: xserver_checkout
...@@ -21,14 +21,14 @@ ...@@ -21,14 +21,14 @@
- name: install requirements - name: install requirements
pip: > pip: >
requirements="{{xserver_requirements_file}}" virtualenv="{{ xserver_venv_dir }}" state=present requirements="{{ xserver_requirements_file }}" virtualenv="{{ xserver_venv_dir }}" state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ xserver_user }}" sudo_user: "{{ xserver_user }}"
notify: restart xserver notify: restart xserver
- name: install sandbox requirements - name: install sandbox requirements
pip: > pip: >
requirements="{{xserver_requirements_file}}" virtualenv="{{xserver_venv_sandbox_dir}}" state=present requirements="{{ xserver_requirements_file }}" virtualenv="{{ xserver_venv_sandbox_dir }}" state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args="-i {{ COMMON_PYPI_MIRROR_URL }}"
sudo_user: "{{ xserver_user }}" sudo_user: "{{ xserver_user }}"
notify: restart xserver notify: restart xserver
......
www-data ALL=({{ xserver_sandbox_user }}) NOPASSWD:{{xserver_venv_sandbox_dir}}/bin/python www-data ALL=({{ xserver_sandbox_user }}) NOPASSWD:{{ xserver_venv_sandbox_dir }}/bin/python
ansible==1.5.5 ansible==1.5.5
PyYAML==3.11 PyYAML==3.11
Jinja2==2.7.2 Jinja2==2.7.3
MarkupSafe==0.23 MarkupSafe==0.23
argparse==1.2.1 argparse==1.2.1
boto==2.29.1 boto==2.29.1
ecdsa==0.11 ecdsa==0.11
paramiko==1.14.0 paramiko==1.15.1
pycrypto==2.6.1 pycrypto==2.6.1
wsgiref==0.1.2 wsgiref==0.1.2
docopt==0.6.1 docopt==0.6.1
......
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