Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
configuration
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
configuration
Commits
f6a7e2b5
Commit
f6a7e2b5
authored
Oct 25, 2013
by
John Jarvis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updates for ora/discern
parent
6700feac
Hide whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
226 additions
and
167 deletions
+226
-167
playbooks/edx-east/edx_continuous_integration.yml
+23
-19
playbooks/group_vars/all
+2
-0
playbooks/roles/common/tasks/main.yml
+3
-1
playbooks/roles/discern/defaults/main.yml
+47
-3
playbooks/roles/discern/tasks/deploy.yml
+8
-19
playbooks/roles/discern/tasks/main.yml
+15
-4
playbooks/roles/discern/templates/auth.json.j2
+1
-2
playbooks/roles/discern/templates/celery.conf.j2
+2
-2
playbooks/roles/discern/templates/discern.conf.j2
+4
-4
playbooks/roles/discern/templates/env.json.j2
+1
-2
playbooks/roles/edxapp/defaults/main.yml
+1
-1
playbooks/roles/edxapp/tasks/cms.yml
+2
-16
playbooks/roles/edxapp/tasks/deploy.yml
+1
-1
playbooks/roles/edxapp/tasks/lms-preview.yml
+0
-16
playbooks/roles/edxapp/tasks/lms.yml
+2
-16
playbooks/roles/edxapp/tasks/main.yml
+18
-0
playbooks/roles/edxapp/templates/cms.conf.j2
+0
-2
playbooks/roles/edxapp/templates/lms-preview.conf.j2
+0
-2
playbooks/roles/edxapp/templates/lms.conf.j2
+0
-2
playbooks/roles/edxlocal/tasks/main.yml
+7
-0
playbooks/roles/forum/tasks/main.yml
+5
-0
playbooks/roles/forum/templates/forum.conf.j2
+10
-0
playbooks/roles/nginx/templates/basic-auth.j2
+1
-1
playbooks/roles/nginx/templates/discern.j2
+1
-1
playbooks/roles/nginx/templates/lms-preview.j2
+1
-1
playbooks/roles/ora/defaults/main.yml
+3
-2
playbooks/roles/ora/tasks/ease.yml
+4
-4
playbooks/roles/ora/tasks/main.yml
+7
-0
playbooks/roles/supervisor/handlers/main.yml
+4
-0
playbooks/roles/supervisor/tasks/main.yml
+16
-12
playbooks/roles/supervisor/templates/forum.conf.j2
+0
-8
playbooks/roles/xqueue/defaults/main.yml
+1
-1
playbooks/roles/xqueue/tasks/deploy.yml
+10
-8
playbooks/roles/xqueue/tasks/main.yml
+10
-9
playbooks/roles/xserver/defaults/main.yml
+2
-2
playbooks/roles/xserver/tasks/deploy.yml
+1
-1
playbooks/roles/xserver/tasks/main.yml
+12
-4
playbooks/roles/xserver/templates/99-sandbox.j2
+1
-1
No files found.
playbooks/edx-east/edx_continuous_integration.yml
View file @
f6a7e2b5
...
@@ -8,23 +8,27 @@
...
@@ -8,23 +8,27 @@
openid_workaround
:
True
openid_workaround
:
True
roles
:
roles
:
-
common
-
common
-
role
:
nginx
# - role: nginx
nginx_sites
:
# nginx_sites:
-
cms
# - cms
-
lms
# - lms
-
lms-preview
# - lms-preview
-
ora
# - ora
-
xqueue
# - xqueue
-
xserver
# - xserver
-
edxlocal
# - edxlocal
-
mongo
# - role: supervisor
-
edxapp
# supervisor_servers:
-
{
role
:
'
rabbitmq'
,
rabbitmq_ip
:
'
127.0.0.1'
}
# - forum
-
{
role
:
'
edxapp'
,
celery_worker
:
True
}
# - lms
-
oraclejdk
# - mongo
-
elasticsearch
# - edxapp
-
forum
# - { role: 'rabbitmq', rabbitmq_ip: '127.0.0.1' }
-
{
role
:
"
xqueue"
,
update_users
:
True
}
# - { role: 'edxapp', celery_worker: True }
-
xserver
# - oraclejdk
-
ora
# - elasticsearch
# - forum
# - { role: "xqueue", update_users: True }
# - xserver
# - ora
-
discern
-
discern
playbooks/group_vars/all
View file @
f6a7e2b5
...
@@ -6,6 +6,8 @@ data_dir: /edx/var
...
@@ -6,6 +6,8 @@ data_dir: /edx/var
app_dir: /edx/app
app_dir: /edx/app
log_dir: "{{ data_dir }}/log"
log_dir: "{{ data_dir }}/log"
venvs_dir: "{{ app_dir }}/venvs"
venvs_dir: "{{ app_dir }}/venvs"
bin_dir: /edx/bin
cfg_dir: /edx/etc
os_name: ubuntu
os_name: ubuntu
...
...
playbooks/roles/common/tasks/main.yml
View file @
f6a7e2b5
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
-
name
:
common | Create common directories
-
name
:
common | Create common directories
file
:
>
file
:
>
path={{
data_dir
}}
path={{
item
}}
state=directory
state=directory
owner=root
owner=root
group=root
group=root
...
@@ -17,6 +17,8 @@
...
@@ -17,6 +17,8 @@
-
"
{{
app_dir
}}"
-
"
{{
app_dir
}}"
-
"
{{
log_dir
}}"
-
"
{{
log_dir
}}"
-
"
{{
venvs_dir
}}"
-
"
{{
venvs_dir
}}"
-
"
{{
bin_dir
}}"
-
"
{{
cfg_dir
}}"
-
name
:
common | Install role-independent useful system packages
-
name
:
common | Install role-independent useful system packages
# do this before log dir setup; rsyslog package guarantees syslog user present
# do this before log dir setup; rsyslog package guarantees syslog user present
...
...
playbooks/roles/discern/defaults/main.yml
View file @
f6a7e2b5
DISCERN_NGINX_PORT
:
18070
DISCERN_NGINX_PORT
:
18070
DISCERN_BASIC_AUTH
:
False
DISCERN_BASIC_AUTH
:
False
DISCERN_MEMCACHE
:
[
'
localhost:11211'
]
DISCERN_AWS_ACCESS_KEY_ID
:
"
"
DISCERN_AWS_SECRET_ACCESS_KEY
:
"
"
DISCERN_BROKER_URL
:
"
"
DISCERN_RESULT_BACKEND
:
"
"
DISCERN_GOOGLE_ANALYTICS_PROPERTY_ID
:
"
"
DISCERN_MYSQL_DB_NAME
:
'
discern'
DISCERN_MYSQL_USER
:
'
root'
DISCERN_MYSQL_PASSWORD
:
'
'
DISCERN_MYSQL_HOST
:
'
localhost'
DISCERN_MYSQL_PORT
:
'
3306'
discern_app_dir
:
"
{{
app_dir
}}/discern"
discern_app_dir
:
"
{{
app_dir
}}/discern"
discern_code_dir
:
"
{{
discern_app_dir
}}/discern"
discern_code_dir
:
"
{{
discern_app_dir
}}/discern"
discern_data_dir
:
"
{{
data_dir
}}/discern"
discern_data_dir
:
"
{{
data_dir
}}/discern"
discern_venv_dir
:
"
{{
venvs_dir
}}/discern"
discern_venvs_dir
:
"
{{
discern_app_dir
}}/venvs"
discern_venv_dir
:
"
{{
discern_venvs_dir
}}/discern"
discern_venv_bin
:
"
{{
discern_venv_dir
}}/bin"
discern_venv_bin
:
"
{{
discern_venv_dir
}}/bin"
discern_pre_requirements_file
:
"
{{
discern_code_dir
}}/pre-requirements.txt"
discern_pre_requirements_file
:
"
{{
discern_code_dir
}}/pre-requirements.txt"
discern_post_requirements_file
:
"
{{
discern_code_dir
}}/requirements.txt"
discern_post_requirements_file
:
"
{{
discern_code_dir
}}/requirements.txt"
discern_user
:
"
discern"
discern_user
:
"
discern"
discern_ease_venv_dir
:
"
{{
discern_venv_dir
}}"
discern_ease_venv_dir
:
"
{{
discern_venv_dir
}}"
discern_ease_code_dir
:
"
{{
app_dir
}}/ease"
discern_ease_code_dir
:
"
{{
discern_
app_dir
}}/ease"
discern_ease_source_repo
:
https://github.com/edx/ease.git
discern_ease_source_repo
:
https://github.com/edx/ease.git
discern_ease_version
:
'
HEAD'
discern_ease_version
:
'
HEAD'
discern_ease_pre_requirements_file
:
"
{{
discern_ease_code_dir
}}/pre-requirements.txt"
discern_ease_pre_requirements_file
:
"
{{
discern_ease_code_dir
}}/pre-requirements.txt"
...
@@ -25,6 +38,37 @@ discern_branch: dev
...
@@ -25,6 +38,37 @@ discern_branch: dev
discern_gunicorn_port
:
8070
discern_gunicorn_port
:
8070
discern_gunicorn_host
:
127.0.0.1
discern_gunicorn_host
:
127.0.0.1
discern_env_config
:
ACCOUNT_EMAIL_VERIFICATION
:
"
mandatory"
AWS_SES_REGION_NAME
:
"
us-east-1"
DEFAULT_FROM_EMAIL
:
"
registration@example.com"
DNS_HOSTNAME
:
"
"
ELB_HOSTNAME
:
"
"
EMAIL_BACKEND
:
"
django.core.mail.backends.smtp.EmailBackend"
S3_BUCKETNAME
:
"
"
USE_S3_TO_STORE_MODElS
:
false
discern_auth_config
:
AWS_ACCESS_KEY_ID
:
$DISCERN_AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
:
$DISCERN_SECRET_ACCESS_KEY
BROKER_URL
:
$DISCERN_BROKER_URL
CACHES
:
default
:
BACKEND
:
'
django.core.cache.backends.memcached.MemcachedCache'
LOCATION
:
$DISCERN_MEMCACHE
CELERY_RESULT_BACKEND
:
$DISCERN_RESULT_BACKEND
DATABASES
:
default
:
ENGINE
:
django.db.backends.mysql
HOST
:
$DISCERN_MYSQL_HOST
NAME
:
$DISCERN_MYSQL_DB_NAME
PASSWORD
:
$DISCERN_MYSQL_PASSWORD
PORT
:
$DISCERN_MYSQL_PORT
USER
:
$DISCERN_MYSQL_USER
GOOGLE_ANALYTICS_PROPERTY_ID
:
$DISCERN_GOOGLE_ANALYTICS_PROPERTY_ID
discern_debian_pkgs
:
discern_debian_pkgs
:
-
policykit-1
-
policykit-1
-
python-virtualenv
-
python-virtualenv
...
@@ -36,7 +80,7 @@ discern_debian_pkgs:
...
@@ -36,7 +80,7 @@ discern_debian_pkgs:
-
libfreetype6-dev
-
libfreetype6-dev
-
libpng12-dev
-
libpng12-dev
-
libxml2-dev
-
libxml2-dev
-
libxslt-dev
-
libxslt
1
-dev
-
libreadline6
-
libreadline6
-
libreadline6-dev
-
libreadline6-dev
-
redis-server
-
redis-server
...
...
playbooks/roles/discern/tasks/deploy.yml
View file @
f6a7e2b5
---
---
#Upload config files for django (auth and env)
#Upload config files for django (auth and env)
-
name
:
discern | create discern application config env.json file
-
name
:
discern | create discern application config env.json file
template
:
src=env.json.j2 dest={{
app_dir
}}/env.json
template
:
src=env.json.j2 dest={{
discern_app_dir
}}/env.json
sudo_user
:
"
{{
discern_user
}}"
sudo_user
:
"
{{
discern_user
}}"
notify
:
notify
:
-
discern | restart celery
-
discern | restart celery
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
-
deploy
-
deploy
-
name
:
discern | create discern auth file auth.json
-
name
:
discern | create discern auth file auth.json
template
:
src=auth.json.j2 dest={{
app_dir
}}/auth.json
template
:
src=auth.json.j2 dest={{
discern_app_dir
}}/auth.json
sudo_user
:
"
{{
discern_user
}}"
sudo_user
:
"
{{
discern_user
}}"
notify
:
notify
:
-
discern | restart celery
-
discern | restart celery
...
@@ -18,19 +18,8 @@
...
@@ -18,19 +18,8 @@
tags
:
tags
:
-
deploy
-
deploy
#Needed if using redis to prevent memory issues
-
name
:
discern | git checkout discern repo into discern_code_dir
-
name
:
discern | change memory commit settings -- needed for redis
git
:
dest={{ discern_code_dir }} repo={{ discern_source_repo }} version={{ discern_branch }}
command
:
sysctl vm.overcommit_memory=1
-
name
:
discern | set permissions on app_dir sgid for edx
file
:
path={{app_dir}} owner=root group=edx mode=2775 state=directory
file
:
path={{venv_dir}} owner=root group=edx mode=2775 state=directory
tags
:
-
deploy
#Grab both repos or update
-
name
:
discern | git checkout discern repo into discern_dir
git
:
dest={{discern_dir}} repo={{discern_source_repo}} version={{discern_branch}}
sudo_user
:
"
{{
discern_user
}}"
sudo_user
:
"
{{
discern_user
}}"
notify
:
notify
:
-
discern | restart celery
-
discern | restart celery
...
@@ -38,8 +27,8 @@
...
@@ -38,8 +27,8 @@
tags
:
tags
:
-
deploy
-
deploy
-
name
:
discern | git checkout ease repo into
eas
e_dir
-
name
:
discern | git checkout ease repo into
discern_ease_cod
e_dir
git
:
dest={{
ease_dir}} repo={{ease_source_repo}} version={{ease_branch
}}
git
:
dest={{
discern_ease_code_dir}} repo={{ discern_ease_source_repo }} version={{ discern_ease_version
}}
sudo_user
:
"
{{
discern_user
}}"
sudo_user
:
"
{{
discern_user
}}"
notify
:
notify
:
-
discern | restart celery
-
discern | restart celery
...
@@ -49,7 +38,7 @@
...
@@ -49,7 +38,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
:
requirements=
"{{item}}/pre-requirements.txt" virtualenv="{{ discern_venv_dir }}"
state=present
pip
:
requirements=
{{item}} virtualenv={{ discern_venv_dir }}
state=present
sudo_user
:
"
{{
discern_user
}}"
sudo_user
:
"
{{
discern_user
}}"
with_items
:
with_items
:
-
"
{{
discern_pre_requirements_file
}}"
-
"
{{
discern_pre_requirements_file
}}"
...
@@ -58,7 +47,7 @@
...
@@ -58,7 +47,7 @@
-
deploy
-
deploy
-
name
:
install python requirements for discern and ease
-
name
:
install python requirements for discern and ease
pip
:
requirements=
"{{item}}/requirements.txt" virtualenv="{{ discern_venv_dir }}"
state=present
pip
:
requirements=
{{item}} virtualenv={{ discern_venv_dir }}
state=present
sudo_user
:
"
{{
discern_user
}}"
sudo_user
:
"
{{
discern_user
}}"
with_items
:
with_items
:
-
"
{{
discern_post_requirements_file
}}"
-
"
{{
discern_post_requirements_file
}}"
...
...
playbooks/roles/discern/tasks/main.yml
View file @
f6a7e2b5
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
with_items
:
with_items
:
-
"
{{
discern_app_dir
}}"
-
"
{{
discern_app_dir
}}"
-
"
{{
discern_data_dir
}}"
-
"
{{
discern_data_dir
}}"
-
"
{{
discern_venvs_dir
}}"
-
name
:
discern | install debian packages that discern needs
-
name
:
discern | install debian packages that discern needs
apt
:
pkg={{ item }} state=present
apt
:
pkg={{ item }} state=present
...
@@ -24,19 +25,29 @@
...
@@ -24,19 +25,29 @@
apt
:
pkg={{ item }} state=present
apt
:
pkg={{ item }} state=present
with_items
:
discern_ease_debian_pkgs
with_items
:
discern_ease_debian_pkgs
#Create the templates for upstart services
-
name
:
discern | render celery service from template
-
name
:
discern | render celery service from template
template
:
src=celery.conf.j2 dest=/etc/init/celery.conf
owner=root group=edx mode=0664
template
:
src=celery.conf.j2 dest=/etc/init/celery.conf
notify
:
discern | restart celery
notify
:
discern | restart celery
-
name
:
discern | render discern service from template
-
name
:
discern | render discern service from template
template
:
src=discern.conf.j2 dest=/etc/init/discern.conf
owner=root group=edx mode=0664
template
:
src=discern.conf.j2 dest=/etc/init/discern.conf
notify
:
discern | restart discern
notify
:
discern | restart discern
-
name
:
discern | copy sudoers file for discern
-
name
:
discern | copy sudoers file for discern
copy
:
>
copy
:
>
src=sudoers-discern
src=sudoers-discern
dest=/etc/sudoers.d/{{ site_name }}
dest=/etc/sudoers.d/discern
mode=0440
validate='visudo -cf %s'
validate='visudo -cf %s'
#Needed if using redis to prevent memory issues
-
name
:
discern | change memory commit settings -- needed for redis
command
:
sysctl vm.overcommit_memory=1
-
include
:
deploy.yml
-
include
:
deploy.yml
-
name
:
discern | create a symlink for venv python
file
:
>
src="{{ discern_venv_bin }}/python"
dest={{ cfg_dir }}/python.discern
state=link
playbooks/roles/discern/templates/auth.json.j2
View file @
f6a7e2b5
{{ auth_config | to_nice_json }}
{{ discern_auth_config | to_nice_json }}
\ No newline at end of file
playbooks/roles/discern/templates/celery.conf.j2
View file @
f6a7e2b5
...
@@ -11,7 +11,7 @@ respawn limit 3 30
...
@@ -11,7 +11,7 @@ respawn limit 3 30
env DJANGO_SETTINGS_MODULE={{discern_settings}}
env DJANGO_SETTINGS_MODULE={{discern_settings}}
chdir {{
discern_dir
}}
chdir {{
discern_code_dir
}}
setuid {{discern_user}}
setuid {{discern_user}}
exec {{
venv_dir}}/bin/python {{discern_dir}}/manage.py celeryd --loglevel=info --settings={{discern_settings}} --pythonpath={{discern_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
playbooks/roles/discern/templates/discern.conf.j2
View file @
f6a7e2b5
...
@@ -14,9 +14,9 @@ env WORKERS={{ ansible_processor_cores * 2 }}
...
@@ -14,9 +14,9 @@ env WORKERS={{ ansible_processor_cores * 2 }}
env PORT={{ discern_gunicorn_port }}
env PORT={{ discern_gunicorn_port }}
env ADDRESS={{ discern_gunicorn_host }}
env ADDRESS={{ discern_gunicorn_host }}
env LANG=en_US.UTF-8
env LANG=en_US.UTF-8
env DJANGO_SETTINGS_MODULE={{
discern_settings
}}
env DJANGO_SETTINGS_MODULE={{
discern_settings
}}
chdir {{
discern_dir
}}
chdir {{
discern_code_dir
}}
setuid {{
discern_user
}}
setuid {{
discern_user
}}
exec {{
venv_dir}}/bin/gunicorn --preload -b $ADDRESS:$PORT -w $WORKERS --timeout=30 --pythonpath={{discern_dir
}} discern.wsgi
exec {{
discern_venv_bin }}/gunicorn --preload -b $ADDRESS:$PORT -w $WORKERS --timeout=30 --pythonpath={{ discern_code_dir
}} discern.wsgi
playbooks/roles/discern/templates/env.json.j2
View file @
f6a7e2b5
{{ env_config | to_nice_json }}
{{ discern_env_config | to_nice_json }}
\ No newline at end of file
playbooks/roles/edxapp/defaults/main.yml
View file @
f6a7e2b5
...
@@ -95,7 +95,7 @@ EDXAPP_LMS_PREVIEW_BASIC_AUTH: False
...
@@ -95,7 +95,7 @@ EDXAPP_LMS_PREVIEW_BASIC_AUTH: False
edxapp_data_dir
:
"
{{
data_dir
}}/edxapp"
edxapp_data_dir
:
"
{{
data_dir
}}/edxapp"
edxapp_app_dir
:
"
{{
app_dir
}}/edxapp"
edxapp_app_dir
:
"
{{
app_dir
}}/edxapp"
edxapp_log_dir
:
"
{{
log_dir
}}/edxapp"
edxapp_log_dir
:
"
{{
log_dir
}}/edxapp"
edxapp_venvs_dir
:
"
{{
venvs_dir
}}/edxapp
"
edxapp_venvs_dir
:
"
{{
edxapp_app_dir
}}/venvs
"
edxapp_venv_dir
:
"
{{
edxapp_venvs_dir
}}/edxapp"
edxapp_venv_dir
:
"
{{
edxapp_venvs_dir
}}/edxapp"
edxapp_venv_bin
:
"
{{
edxapp_venv_dir
}}/bin"
edxapp_venv_bin
:
"
{{
edxapp_venv_dir
}}/bin"
edxapp_rbenv_dir
:
"
{{
edxapp_app_dir
}}"
edxapp_rbenv_dir
:
"
{{
edxapp_app_dir
}}"
...
...
playbooks/roles/edxapp/tasks/cms.yml
View file @
f6a7e2b5
...
@@ -6,9 +6,7 @@
...
@@ -6,9 +6,7 @@
template
:
>
template
:
>
src=cms.env.json.j2
src=cms.env.json.j2
dest={{ edxapp_app_dir }}/cms.env.json
dest={{ edxapp_app_dir }}/cms.env.json
mode=640
sudo_user
:
"
{{
edxapp_user
}}"
owner={{ edxapp_user }}
group={{ common_web_user }}
tags
:
tags
:
-
deploy
-
deploy
...
@@ -16,19 +14,7 @@
...
@@ -16,19 +14,7 @@
template
:
>
template
:
>
src=cms.auth.json.j2
src=cms.auth.json.j2
dest={{ edxapp_app_dir }}/cms.auth.json
dest={{ edxapp_app_dir }}/cms.auth.json
mode=640
sudo_user
:
"
{{
edxapp_user
}}"
owner={{ edxapp_user }}
group={{ common_web_user }}
tags
:
-
deploy
-
name
:
Create CMS log target directory
file
:
>
path={{ edxapp_log_dir }}/cms
state=directory
owner={{ common_log_user }}
group={{ common_log_user }}
mode=0750
tags
:
tags
:
-
deploy
-
deploy
...
...
playbooks/roles/edxapp/tasks/deploy.yml
View file @
f6a7e2b5
...
@@ -41,7 +41,7 @@
...
@@ -41,7 +41,7 @@
-
name
:
edxapp | checkout theme
-
name
:
edxapp | checkout theme
git
:
dest={{
app_dir
}}/themes/{{edxapp_theme_name}} repo={{edxapp_theme_source_repo}} version={{edxapp_theme_version}}
git
:
dest={{
edxapp_app_dir
}}/themes/{{edxapp_theme_name}} repo={{edxapp_theme_source_repo}} version={{edxapp_theme_version}}
when
:
edxapp_theme_name != ''
when
:
edxapp_theme_name != ''
sudo_user
:
"
{{
edxapp_user
}}"
sudo_user
:
"
{{
edxapp_user
}}"
tags
:
tags
:
...
...
playbooks/roles/edxapp/tasks/lms-preview.yml
View file @
f6a7e2b5
...
@@ -6,9 +6,6 @@
...
@@ -6,9 +6,6 @@
template
:
>
template
:
>
src=lms-preview.env.json.j2
src=lms-preview.env.json.j2
dest={{ edxapp_app_dir }}/lms-preview.env.json
dest={{ edxapp_app_dir }}/lms-preview.env.json
mode=640
owner={{ edxapp_user }}
group={{ common_web_user }}
tags
:
tags
:
-
deploy
-
deploy
...
@@ -16,19 +13,6 @@
...
@@ -16,19 +13,6 @@
template
:
>
template
:
>
src=lms-preview.auth.json.j2
src=lms-preview.auth.json.j2
dest={{ edxapp_app_dir }}/lms-preview.auth.json
dest={{ edxapp_app_dir }}/lms-preview.auth.json
mode=640
owner={{ edxapp_user }}
group={{ common_web_user }}
tags
:
-
deploy
-
name
:
Create lms-preview log target directory
file
:
>
path={{ edxapp_log_dir }}/lms-preview
state=directory
owner={{ common_log_user }}
group={{ common_log_user }}
mode=0750
tags
:
tags
:
-
deploy
-
deploy
...
...
playbooks/roles/edxapp/tasks/lms.yml
View file @
f6a7e2b5
...
@@ -3,9 +3,7 @@
...
@@ -3,9 +3,7 @@
template
:
>
template
:
>
src=lms.env.json.j2
src=lms.env.json.j2
dest={{ edxapp_app_dir }}/lms.env.json
dest={{ edxapp_app_dir }}/lms.env.json
mode=640
sudo_user
:
"
{{
edxapp_user
}}"
owner={{ edxapp_user }}
group={{ common_web_user }}
tags
:
tags
:
-
deploy
-
deploy
...
@@ -13,19 +11,7 @@
...
@@ -13,19 +11,7 @@
template
:
>
template
:
>
src=lms.auth.json.j2
src=lms.auth.json.j2
dest={{ edxapp_app_dir }}/lms.auth.json
dest={{ edxapp_app_dir }}/lms.auth.json
mode=640
sudo_user
:
"
{{
edxapp_user
}}"
owner={{ edxapp_user }}
group={{ common_web_user }}
tags
:
-
deploy
-
name
:
Create lms log target directory
file
:
>
path={{ edxapp_log_dir }}/lms
state=directory
owner={{ common_log_user }}
group={{ common_log_user }}
mode=0750
tags
:
tags
:
-
deploy
-
deploy
...
...
playbooks/roles/edxapp/tasks/main.yml
View file @
f6a7e2b5
...
@@ -64,4 +64,22 @@
...
@@ -64,4 +64,22 @@
template
:
src=edx-workers.conf.j2 dest=/etc/init/edx-workers.conf owner=root group=root
template
:
src=edx-workers.conf.j2 dest=/etc/init/edx-workers.conf owner=root group=root
when
:
"
celery_worker
is
defined"
when
:
"
celery_worker
is
defined"
-
name
:
edxapp | create log directories for service variants
file
:
>
path={{ edxapp_log_dir }}/{{ item }}
state=directory
owner={{ common_log_user }}
group={{ common_log_user }}
mode=0750
with_items
:
-
lms
-
cms
-
lms-preview
-
include
:
deploy.yml
-
include
:
deploy.yml
-
name
:
edxapp | create a symlink for venv python
file
:
>
src="{{ edxapp_venv_bin }}/python"
dest={{ cfg_dir }}/python.edxapp
state=link
playbooks/roles/edxapp/templates/cms.conf.j2
View file @
f6a7e2b5
...
@@ -9,8 +9,6 @@ respawn
...
@@ -9,8 +9,6 @@ respawn
respawn limit 3 30
respawn limit 3 30
env PID=/var/tmp/cms.pid
env PID=/var/tmp/cms.pid
#env NEW_RELIC_CONFIG_FILE={{app_dir}}/newrelic.ini
#env NEWRELIC={{edxapp_venv_dir}}/bin/newrelic-admin
{% if ansible_processor|length > 0 %}
{% if ansible_processor|length > 0 %}
env WORKERS={{ ansible_processor|length * worker_core_mult.cms }}
env WORKERS={{ ansible_processor|length * worker_core_mult.cms }}
{% else %}
{% else %}
...
...
playbooks/roles/edxapp/templates/lms-preview.conf.j2
View file @
f6a7e2b5
...
@@ -10,8 +10,6 @@ respawn
...
@@ -10,8 +10,6 @@ respawn
respawn limit 3 30
respawn limit 3 30
env PID=/var/tmp/lms.pid
env PID=/var/tmp/lms.pid
#env NEW_RELIC_CONFIG_FILE={{app_dir}}/newrelic.ini
#env NEWRELIC={{edxapp_venv_dir}}/bin/newrelic-admin
{% if ansible_processor|length > 0 %}
{% if ansible_processor|length > 0 %}
env WORKERS={{ ansible_processor|length * worker_core_mult.lms_preview }}
env WORKERS={{ ansible_processor|length * worker_core_mult.lms_preview }}
{% else %}
{% else %}
...
...
playbooks/roles/edxapp/templates/lms.conf.j2
View file @
f6a7e2b5
...
@@ -7,8 +7,6 @@ respawn
...
@@ -7,8 +7,6 @@ respawn
respawn limit 3 30
respawn limit 3 30
env PID=/var/tmp/lms.pid
env PID=/var/tmp/lms.pid
#env NEW_RELIC_CONFIG_FILE={{app_dir}}/newrelic.ini
#env NEWRELIC={{edxapp_venv_dir}}/bin/newrelic-admin
{% if ansible_processor|length > 0 %}
{% if ansible_processor|length > 0 %}
env WORKERS={{ ansible_processor|length * worker_core_mult.lms }}
env WORKERS={{ ansible_processor|length * worker_core_mult.lms }}
{% else %}
{% else %}
...
...
playbooks/roles/edxlocal/tasks/main.yml
View file @
f6a7e2b5
...
@@ -31,5 +31,12 @@
...
@@ -31,5 +31,12 @@
state=present
state=present
encoding=utf8
encoding=utf8
-
name
:
edxlocal | create a database for discern
mysql_db
:
>
db=discern
state=present
encoding=utf8
-
name
:
edxlocal | install memcached
-
name
:
edxlocal | install memcached
apt
:
pkg=memcached state=present
apt
:
pkg=memcached state=present
playbooks/roles/forum/tasks/main.yml
View file @
f6a7e2b5
...
@@ -42,4 +42,9 @@
...
@@ -42,4 +42,9 @@
-
forum | restart the forum service
-
forum | restart the forum service
-
include
:
deploy.yml
-
include
:
deploy.yml
-
name
:
forum | create the supervisor config
template
:
src=forum.conf.j2 dest={{ supervisor_cfg_dir }}/forum.conf
notify
:
-
forum | restart the forum service
-
include
:
test.yml
-
include
:
test.yml
playbooks/roles/forum/templates/forum.conf.j2
0 → 100644
View file @
f6a7e2b5
[program:forum]
command={{ forum_supervisor_wrapper }}
priority=999
user={{ common_web_user }}
startsecs=10
stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log
stderr_logfile={{ supervisor_log_dir }}/%(program_name)-stderr.log
stderr_logfile_maxbytes=1MB
killasgroup=true
stopasgroup=true
playbooks/roles/nginx/templates/basic-auth.j2
View file @
f6a7e2b5
auth_basic "Restricted";
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/nginx.htpasswd;
auth_basic_user_file /etc/nginx/nginx.htpasswd;
root {{ app_dir }}/main_static;
root {{
nginx_
app_dir }}/main_static;
index index.html
index index.html
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Proto https;
playbooks/roles/nginx/templates/discern.j2
View file @
f6a7e2b5
...
@@ -9,7 +9,7 @@ server {
...
@@ -9,7 +9,7 @@ server {
# https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-production
# https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-production
location /static/ { # STATIC_URL
location /static/ { # STATIC_URL
alias {{ discern_dir }}/staticfiles/;
alias {{ discern_
app_
dir }}/staticfiles/;
expires 1m;
expires 1m;
autoindex on;
autoindex on;
}
}
...
...
playbooks/roles/nginx/templates/lms-preview.j2
View file @
f6a7e2b5
...
@@ -48,7 +48,7 @@ server {
...
@@ -48,7 +48,7 @@ server {
# Check security on this
# Check security on this
location ~ /static/(?P<file>.*) {
location ~ /static/(?P<file>.*) {
root {{
app
_dir}};
root {{
edxapp_data
_dir}};
try_files /staticfiles/$file /course_static/$file =404;
try_files /staticfiles/$file /course_static/$file =404;
# return a 403 for static files that shouldn't be
# return a 403 for static files that shouldn't be
...
...
playbooks/roles/ora/defaults/main.yml
View file @
f6a7e2b5
...
@@ -6,7 +6,8 @@ ORA_BASIC_AUTH: False
...
@@ -6,7 +6,8 @@ ORA_BASIC_AUTH: False
ora_app_dir
:
"
{{
app_dir
}}/ora"
ora_app_dir
:
"
{{
app_dir
}}/ora"
ora_code_dir
:
"
{{
ora_app_dir
}}/ora"
ora_code_dir
:
"
{{
ora_app_dir
}}/ora"
ora_data_dir
:
"
{{
data_dir
}}/ora"
ora_data_dir
:
"
{{
data_dir
}}/ora"
ora_venv_dir
:
"
{{
venvs_dir
}}/ora"
ora_venvs_dir
:
"
{{
ora_app_dir
}}/venvs"
ora_venv_dir
:
"
{{
ora_venvs_dir
}}/ora"
ora_venv_bin
:
"
{{
ora_venv_dir
}}/bin"
ora_venv_bin
:
"
{{
ora_venv_dir
}}/bin"
ora_user
:
"
ora"
ora_user
:
"
ora"
ora_nltk_data_dir
:
"
{{
ora_data_dir}}/nltk_data"
ora_nltk_data_dir
:
"
{{
ora_data_dir}}/nltk_data"
...
@@ -17,7 +18,7 @@ ora_pre_requirements_file: "{{ ora_code_dir }}/pre-requirements.txt"
...
@@ -17,7 +18,7 @@ ora_pre_requirements_file: "{{ ora_code_dir }}/pre-requirements.txt"
ora_post_requirements_file
:
"
{{
ora_code_dir
}}/requirements.txt"
ora_post_requirements_file
:
"
{{
ora_code_dir
}}/requirements.txt"
ora_ease_venv_dir
:
"
{{
ora_venv_dir
}}"
ora_ease_venv_dir
:
"
{{
ora_venv_dir
}}"
ora_ease_code_dir
:
"
{{
app_dir
}}/ease"
ora_ease_code_dir
:
"
{{
ora_
app_dir
}}/ease"
ora_ease_source_repo
:
https://github.com/edx/ease.git
ora_ease_source_repo
:
https://github.com/edx/ease.git
ora_ease_version
:
'
HEAD'
ora_ease_version
:
'
HEAD'
ora_ease_pre_requirements_file
:
"
{{
ora_ease_code_dir
}}/pre-requirements.txt"
ora_ease_pre_requirements_file
:
"
{{
ora_ease_code_dir
}}/pre-requirements.txt"
...
...
playbooks/roles/ora/tasks/ease.yml
View file @
f6a7e2b5
...
@@ -60,15 +60,15 @@
...
@@ -60,15 +60,15 @@
#Needed for the ease package to work
#Needed for the ease package to work
-
name
:
ora | check for the existence of nltk data taggers/maxent_treebank_pos_tagger/english.pickle
-
name
:
ora | check for the existence of nltk data taggers/maxent_treebank_pos_tagger/english.pickle
shell
:
"
[
-f
{{
nltk_data_dir
}}/taggers/maxent_treebank_pos_tagger/english.pickle
]
&&
echo
'Found'
||
echo
''"
shell
:
"
[
-f
{{
ora_nltk_data_dir
}}/taggers/maxent_treebank_pos_tagger/english.pickle
]
&&
echo
'Found'
||
echo
''"
register
:
nltk_data_installed
register
:
ora_
nltk_data_installed
tags
:
tags
:
-
deploy
-
deploy
-
name
:
ora | install nltk data using rendered shell script
-
name
:
ora | install nltk data using rendered shell script
command
:
"
{{ora_ease_venv_dir}}/bin/python
-m
nltk.downloader
-d
{{
nltk_data_dir
}}
all"
command
:
"
{{ora_ease_venv_dir}}/bin/python
-m
nltk.downloader
-d
{{
ora_nltk_data_dir
}}
all"
when
:
nltk_data_installed.stdout != "Found"
when
:
ora_
nltk_data_installed.stdout != "Found"
sudo_user
:
"
{{
ora_user
}}"
sudo_user
:
"
{{
ora_user
}}"
tags
:
tags
:
-
deploy
-
deploy
playbooks/roles/ora/tasks/main.yml
View file @
f6a7e2b5
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
owner="{{ ora_user }}"
owner="{{ ora_user }}"
group="{{ common_web_group }}"
group="{{ common_web_group }}"
with_items
:
with_items
:
-
"
{{
ora_venvs_dir
}}"
-
"
{{
ora_app_dir
}}"
-
"
{{
ora_app_dir
}}"
-
"
{{
ora_data_dir
}}"
-
"
{{
ora_data_dir
}}"
-
"
{{
ora_app_dir
}}/ml_models"
-
"
{{
ora_app_dir
}}/ml_models"
...
@@ -30,3 +31,9 @@
...
@@ -30,3 +31,9 @@
with_items
:
ora_ease_debian_pkgs
with_items
:
ora_ease_debian_pkgs
-
include
:
deploy.yml
-
include
:
deploy.yml
-
name
:
ora | create a symlink for venv python
file
:
>
src="{{ ora_venv_bin }}/python"
dest={{ cfg_dir }}/python.ora
state=link
playbooks/roles/supervisor/handlers/main.yml
0 → 100644
View file @
f6a7e2b5
-
name
:
supervisor | restart supervisor
service
:
>
name=supervisor
state=restarted
playbooks/roles/supervisor/tasks/main.yml
View file @
f6a7e2b5
...
@@ -11,9 +11,8 @@
...
@@ -11,9 +11,8 @@
# Tasks for role supervisor
# Tasks for role supervisor
#
#
# Overview:
# Overview:
# Parameterized role for supervisord
# Role for supervisord
# Supervisor templates must exist in the
# Installs supervisor in its own venv.
# templates/ dir for each server
#
#
# Dependencies:
# Dependencies:
# - common
# - common
...
@@ -22,13 +21,8 @@
...
@@ -22,13 +21,8 @@
# roles:
# roles:
# - common
# - common
# - role: supervisor
# - role: supervisor
# supervisor_servers:
# - ...
---
---
-
fail
:
supervisor_servers is a required parameter for this role
when
:
supervisor_servers is not defined
-
name
:
supervisor | create application user
-
name
:
supervisor | create application user
user
:
>
user
:
>
name="{{ supervisor_user }}"
name="{{ supervisor_user }}"
...
@@ -61,18 +55,28 @@
...
@@ -61,18 +55,28 @@
-
name
:
supervisor | install supervisor in its venv
-
name
:
supervisor | install supervisor in its venv
pip
:
name=supervisor virtualenv="{{supervisor_venv_dir}}" state=present
pip
:
name=supervisor virtualenv="{{supervisor_venv_dir}}" state=present
sudo_user
:
"
{{
supervisor_user
}}"
sudo_user
:
"
{{
supervisor_user
}}"
notify
:
supervisor | restart supervisor
-
name
:
supervisor | create supervisor upstart job
-
name
:
supervisor | create supervisor upstart job
template
:
src=supervisor-upstart.conf.j2 dest=/etc/init/supervisor.conf
template
:
src=supervisor-upstart.conf.j2 dest=/etc/init/supervisor.conf
notify
:
supervisor | restart supervisor
-
name
:
supervisor | create supervisor master config
-
name
:
supervisor | create supervisor master config
template
:
src=supervisord.conf.j2 dest={{ supervisor_cfg }}
template
:
src=supervisord.conf.j2 dest={{ supervisor_cfg }}
sudo_user
:
"
{{
supervisor_user
}}"
sudo_user
:
"
{{
supervisor_user
}}"
notify
:
supervisor | restart supervisor
-
name
:
supervisor | create supervisor configs
-
name
:
supervisor | create a symlink for supervisortctl
template
:
src={{ item }}.conf.j2 dest={{ supervisor_cfg_dir }}/{{ item }}.conf
file
:
>
with_items
:
supervisor_servers
src={{ supervisor_ctl }}
sudo_user
:
"
{{
supervisor_user
}}"
dest={{ bin_dir }}/{{ supervisor_ctl|basename }}
state=link
-
name
:
supervisor | create a symlink for supervisor cfg
file
:
>
src={{ supervisor_cfg }}
dest={{ cfg_dir }}/{{ supervisor_cfg|basename }}
state=link
-
name
:
supervisor | ensure supervisor is started
-
name
:
supervisor | ensure supervisor is started
service
:
name=supervisor state=started
service
:
name=supervisor state=started
playbooks/roles/supervisor/templates/forum.conf.j2
deleted
100644 → 0
View file @
6700feac
[program:forum]
command={{ forum_supervisor_wrapper }}
priority=999
startsecs = 5
redirect_stderr = True
autostart=False
user={{ common_web_user }}
playbooks/roles/xqueue/defaults/main.yml
View file @
f6a7e2b5
...
@@ -7,7 +7,7 @@ XQUEUE_BASIC_AUTH: False
...
@@ -7,7 +7,7 @@ XQUEUE_BASIC_AUTH: False
xqueue_app_dir
:
"
{{
app_dir
}}/xqueue"
xqueue_app_dir
:
"
{{
app_dir
}}/xqueue"
xqueue_code_dir
:
"
{{
xqueue_app_dir
}}/xqueue"
xqueue_code_dir
:
"
{{
xqueue_app_dir
}}/xqueue"
xqueue_data_dir
:
"
{{
data_dir
}}/xqueue"
xqueue_data_dir
:
"
{{
data_dir
}}/xqueue"
xqueue_venvs_dir
:
"
{{
venvs_dir
}}/xqueue
"
xqueue_venvs_dir
:
"
{{
xqueue_app_dir
}}/venvs
"
xqueue_venv_dir
:
"
{{
xqueue_venvs_dir
}}/xqueue"
xqueue_venv_dir
:
"
{{
xqueue_venvs_dir
}}/xqueue"
xqueue_venv_bin
:
"
{{
xqueue_venv_dir
}}/bin"
xqueue_venv_bin
:
"
{{
xqueue_venv_dir
}}/bin"
xqueue_user
:
"
xqueue"
xqueue_user
:
"
xqueue"
...
...
playbooks/roles/xqueue/tasks/deploy.yml
View file @
f6a7e2b5
...
@@ -10,20 +10,20 @@
...
@@ -10,20 +10,20 @@
-
deploy
-
deploy
-
name
:
xqueue | create xqueue application config
-
name
:
xqueue | create xqueue application config
template
:
src=xqueue.env.json.j2 dest={{
xqueue_app_dir}}/xqueue.env.json mode=0640 owner={{ xqueue_user }} group=adm
template
:
src=xqueue.env.json.j2 dest={{
xqueue_app_dir }}/xqueue.env.json mode=0644
sudo_user
:
"
{{
xqueue_user
}}"
sudo_user
:
"
{{
xqueue_user
}}"
tags
:
tags
:
-
deploy
-
deploy
-
name
:
xqueue | create xqueue auth file
-
name
:
xqueue | create xqueue auth file
template
:
src=xqueue.auth.json.j2 dest={{
xqueue_app_dir}}/xqueue.auth.json mode=0640 owner={{ xqueue_user }} group=adm
template
:
src=xqueue.auth.json.j2 dest={{
xqueue_app_dir }}/xqueue.auth.json mode=0644
sudo_user
:
"
{{
xqueue_user
}}"
sudo_user
:
"
{{
xqueue_user
}}"
tags
:
tags
:
-
deploy
-
deploy
# Do A Checkout
# Do A Checkout
-
name
:
xqueue | git checkout xqueue repo into
{{app_dir}}
-
name
:
xqueue | git checkout xqueue repo into
xqueue_code_dir
git
:
dest={{
xqueue_code_dir}} repo={{xqueue_source_repo}} version={{xqueue_version
}}
git
:
dest={{
xqueue_code_dir }} repo={{ xqueue_source_repo }} version={{ xqueue_version
}}
sudo_user
:
"
{{
xqueue_user
}}"
sudo_user
:
"
{{
xqueue_user
}}"
tags
:
tags
:
-
deploy
-
deploy
...
@@ -31,27 +31,29 @@
...
@@ -31,27 +31,29 @@
# Install the python pre requirements into {{ xqueue_venv_dir }}
# Install the python pre requirements into {{ xqueue_venv_dir }}
-
name
:
install python pre-requirements
-
name
:
install python pre-requirements
pip
:
requirements="{{
xqueue_pre_requirements_file}}" virtualenv="{{xqueue_venv_dir
}}" state=present
pip
:
requirements="{{
xqueue_pre_requirements_file }}" virtualenv="{{ xqueue_venv_dir
}}" state=present
sudo_user
:
"
{{
xqueue_user
}}"
sudo_user
:
"
{{
xqueue_user
}}"
tags
:
tags
:
-
deploy
-
deploy
# Install the python post requirements into {{ xqueue_venv_dir }}
# Install the python post requirements into {{ xqueue_venv_dir }}
-
name
:
install python post-requirements
-
name
:
install python post-requirements
pip
:
requirements="{{
xqueue_post_requirements_file}}" virtualenv="{{xqueue_venv_dir
}}" state=present
pip
:
requirements="{{
xqueue_post_requirements_file }}" virtualenv="{{ xqueue_venv_dir
}}" state=present
sudo_user
:
"
{{
xqueue_user
}}"
sudo_user
:
"
{{
xqueue_user
}}"
tags
:
tags
:
-
deploy
-
deploy
-
name
:
xqueue | syncdb and migrate
-
name
:
xqueue | syncdb and migrate
shell
:
SERVICE_VARIANT=xqueue {{ xqueue_venv_dir }}/bin/django-admin.py syncdb --migrate --noinput --settings=xqueue.aws_settings --pythonpath=/opt/wwc/xqueue
shell
:
>
SERVICE_VARIANT=xqueue {{ xqueue_venv_bin }}/django-admin.py syncdb --migrate --noinput --settings=xqueue.aws_settings --pythonpath={{ xqueue_code_dir }}
when
:
migrate_db is defined and migrate_db|lower == "yes"
when
:
migrate_db is defined and migrate_db|lower == "yes"
sudo_user
:
"
{{
xqueue_user
}}"
sudo_user
:
"
{{
xqueue_user
}}"
tags
:
tags
:
-
deploy
-
deploy
-
name
:
xqueue | create users
-
name
:
xqueue | create users
shell
:
SERVICE_VARIANT=xqueue {{ xqueue_venv_dir }}/bin/django-admin.py update_users --settings=xqueue.aws_settings --pythonpath=/opt/wwc/xqueue
shell
:
>
SERVICE_VARIANT=xqueue {{ xqueue_venv_bin }}/django-admin.py update_users --settings=xqueue.aws_settings --pythonpath={{ xqueue_code_dir }}
when
:
update_users is defined
when
:
update_users is defined
sudo_user
:
"
{{
xqueue_user
}}"
sudo_user
:
"
{{
xqueue_user
}}"
tags
:
tags
:
...
...
playbooks/roles/xqueue/tasks/main.yml
View file @
f6a7e2b5
...
@@ -13,20 +13,15 @@
...
@@ -13,20 +13,15 @@
createhome=no
createhome=no
shell=/bin/false
shell=/bin/false
-
name
:
xqueue | create xqueue app dir
-
name
:
xqueue | create xqueue app
and venv
dir
file
:
>
file
:
>
path="{{ xqueue_app_dir }}"
path="{{ xqueue_app_dir }}"
state=directory
state=directory
owner="{{ xqueue_user }}"
owner="{{ xqueue_user }}"
group="{{ common_web_group }}"
group="{{ common_web_group }}"
with_items
:
-
name
:
xqueue | create xqueue venvs dir
-
"
{{
xqueue_app_dir
}}"
file
:
>
-
"
{{
xqueue_venvs_dir
}}"
path="{{ xqueue_venvs_dir }}"
state=directory
owner="{{ xqueue_user }}"
group="{{ common_web_group }}"
-
name
:
xqueue | install a bunch of system packages on which xqueue relies
-
name
:
xqueue | install a bunch of system packages on which xqueue relies
apt
:
pkg={{','.join(xqueue_debian_pkgs)}} state=present
apt
:
pkg={{','.join(xqueue_debian_pkgs)}} state=present
...
@@ -52,3 +47,9 @@
...
@@ -52,3 +47,9 @@
template
:
src=xqueue_consumer.conf.j2 dest=/etc/init/xqueue_consumer.conf mode=0640 owner=root group=adm
template
:
src=xqueue_consumer.conf.j2 dest=/etc/init/xqueue_consumer.conf mode=0640 owner=root group=adm
-
include
:
deploy.yml
-
include
:
deploy.yml
-
name
:
xqueue | create a symlink for venv python
file
:
>
src="{{ xqueue_venv_bin }}/python"
dest={{ cfg_dir }}/python.xqueue
state=link
playbooks/roles/xserver/defaults/main.yml
View file @
f6a7e2b5
...
@@ -17,8 +17,8 @@ XSERVER_GRADER_CHECKOUT: False
...
@@ -17,8 +17,8 @@ XSERVER_GRADER_CHECKOUT: False
xserver_app_dir
:
"
{{
app_dir
}}/xserver"
xserver_app_dir
:
"
{{
app_dir
}}/xserver"
xserver_code_dir
:
"
{{
xserver_app_dir
}}/xserver"
xserver_code_dir
:
"
{{
xserver_app_dir
}}/xserver"
xserver_data_dir
:
"
{{
data_dir
}}/xserver"
xserver_data_dir
:
"
{{
data_dir
}}/xserver"
xserver_venvs_dir
:
"
{{
venvs_dir
}}/xserver
"
xserver_venvs_dir
:
"
{{
xserver_app_dir
}}/venvs
"
xserver_venv_dir
:
"
{{
x
queue
_venvs_dir
}}/xserver"
xserver_venv_dir
:
"
{{
x
server
_venvs_dir
}}/xserver"
xserver_venv_sandbox_dir
:
"
{{
xserver_venv_dir
}}-sandbox"
xserver_venv_sandbox_dir
:
"
{{
xserver_venv_dir
}}-sandbox"
xserver_venv_bin
:
"
{{
xserver_venv_dir
}}/bin"
xserver_venv_bin
:
"
{{
xserver_venv_dir
}}/bin"
xserver_user
:
"
xserver"
xserver_user
:
"
xserver"
...
...
playbooks/roles/xserver/tasks/deploy.yml
View file @
f6a7e2b5
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
-
deploy
-
deploy
-
name
:
xserver | create xserver application config
-
name
:
xserver | create xserver application config
template
:
src=xserver.env.json.j2 dest={{ xserver_app_dir }}/env.json
mode=640 owner=www-data group=adm
template
:
src=xserver.env.json.j2 dest={{ xserver_app_dir }}/env.json
sudo_user
:
"
{{
xserver_user
}}"
sudo_user
:
"
{{
xserver_user
}}"
tags
:
tags
:
-
deploy
-
deploy
...
...
playbooks/roles/xserver/tasks/main.yml
View file @
f6a7e2b5
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
shell=/bin/false
shell=/bin/false
-
name
:
xserver | create xserver app and data dir
-
name
:
xserver | create xserver app and data dir
s
file
:
>
file
:
>
path="{{ item }}"
path="{{ item }}"
state=directory
state=directory
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
group="{{ common_web_group }}"
group="{{ common_web_group }}"
with_items
:
with_items
:
-
"
{{
xserver_app_dir
}}"
-
"
{{
xserver_app_dir
}}"
-
"
{{
xserver_venvs_dir
}}"
-
"
{{
xserver_data_dir
}}"
-
"
{{
xserver_data_dir
}}"
-
name
:
xserver | create sandbox sudoers file
-
name
:
xserver | create sandbox sudoers file
...
@@ -53,9 +54,6 @@
...
@@ -53,9 +54,6 @@
-
"
{{
secure_dir
}}/files/edx_apparmor_sandbox.j2"
-
"
{{
secure_dir
}}/files/edx_apparmor_sandbox.j2"
-
"
usr.bin.python-sandbox.j2"
-
"
usr.bin.python-sandbox.j2"
-
name
:
xserver | enforce app-armor rules
command
:
aa-enforce {{ xserver_sandbox_venv_dir }}
-
name
:
xserver | setup upstart script
-
name
:
xserver | setup upstart script
template
:
src=xserver.conf.j2 dest=/etc/init/xserver.conf owner=root group=root
template
:
src=xserver.conf.j2 dest=/etc/init/xserver.conf owner=root group=root
...
@@ -63,3 +61,13 @@
...
@@ -63,3 +61,13 @@
copy
:
src=git_ssh.sh dest=/tmp/git_ssh.sh force=yes owner=root group=adm mode=750
copy
:
src=git_ssh.sh dest=/tmp/git_ssh.sh force=yes owner=root group=adm mode=750
-
include
:
deploy.yml
-
include
:
deploy.yml
-
name
:
xserver | enforce app-armor rules
command
:
aa-enforce {{ xserver_venv_sandbox_dir }}
-
name
:
xserver | create a symlink for venv python
file
:
>
src="{{ xserver_venv_bin }}/python"
dest={{ cfg_dir }}/python.xserver
state=link
playbooks/roles/xserver/templates/99-sandbox.j2
View file @
f6a7e2b5
www-data ALL=({{ xserver_sandbox_user }}) NOPASSWD:{{xserver_
sandbox_venv
_dir}}/bin/python
www-data ALL=({{ xserver_sandbox_user }}) NOPASSWD:{{xserver_
venv_sandbox
_dir}}/bin/python
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment