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
edx
configuration
Commits
c72e0ef9
Commit
c72e0ef9
authored
7 years ago
by
Jeremy Bowman
Committed by
GitHub
7 years ago
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3800 from edx/jmbowman/edxapp-docker-devstack
Run edxapp on Docker for Devstack
parents
fee4a7c2
78250d6e
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
102 additions
and
23 deletions
+102
-23
docker/build/edxapp/Dockerfile
+11
-12
docker/build/edxapp/ansible_overrides.yml
+25
-6
docker/plays/edxapp.yml
+9
-0
playbooks/roles/edxapp/defaults/main.yml
+16
-2
playbooks/roles/edxapp/tasks/deploy.yml
+1
-1
playbooks/roles/edxapp/tasks/main.yml
+12
-0
playbooks/roles/edxapp/templates/devstack.sh.j2
+26
-0
playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets-cms.j2
+1
-1
playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets-lms.j2
+1
-1
No files found.
docker/build/edxapp/Dockerfile
View file @
c72e0ef9
...
...
@@ -2,26 +2,25 @@
#
# From the root of configuration:
#
# docker build -f docker/build/edxapp/Dockerfile .
# docker build -f docker/build/edxapp/Dockerfile .
-t edxops/edxapp:latest
#
# This allows the dockerfile to update /edx/app/edx_ansible/edx_ansible
# with the currently checked-out configuration repo.
FROM
edxops/precise-common:latest
MAINTAINER
edxops
USER
root
RUN
apt-get update
CMD
["/edx/app/supervisor/venvs/supervisor/bin/supervisord", "-n", "--configuration", "/edx/app/supervisor/supervisord.conf"]
ADD
. /edx/app/edx_ansible/edx_ansible
COPY
docker/build/edxapp/ansible_overrides.yml /
WORKDIR
/edx/app/edx_ansible/edx_ansible/docker/plays
COPY
docker/build/edxapp/ansible_overrides.yml /
RUN
/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook
\
edxapp.yml
-i
'127.0.0.1,'
-c
local
\
-e
"EDXAPP_PYTHON_SANDBOX=false"
\
-e
@/ansible_overrides.yml
\
-t
"install:base,install:configuration,install:system-requirements,install:app-requirements,install:code"
WORKDIR
/edx/app
CMD
["/edx/app/supervisor/venvs/supervisor/bin/supervisord", "-n", "--configuration", "/edx/app/supervisor/supervisord.conf"]
EXPOSE
8000 8010
RUN
sudo
/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook edxapp.yml
\
-c
local
-i
'127.0.0.1,'
\
-t
'install,assets,devstack'
\
--extra-vars
=
"@/ansible_overrides.yml"
EXPOSE
18000 18010
This diff is collapsed.
Click to expand it.
docker/build/edxapp/ansible_overrides.yml
View file @
c72e0ef9
---
EDXAPP_SETTINGS
:
'
devstack_docker'
EDXAPP_MEMCACHE
:
[
'
edx.devstack.memcached:11211'
]
EDXAPP_MYSQL_HOST
:
"
edx.devstack.mysql"
EDXAPP_MONGO_HOSTS
:
-
"
edx.devstack.mongo"
DOCKER_TLD
:
"
edx"
devstack
:
true
migrate_db
:
false
mongo_enable_journal
:
false
edx_platform_version
:
'
master'
edxapp_npm_production
:
"
no"
# prevents Travis from giving up on the build
COMMON_PIP_VERBOSITY
:
"
-vvvv"
EDXAPP_LMS_GUNICORN_EXTRA_CONF
:
'
reload
=
True'
EDXAPP_MYSQL_HOST
:
"
db.{{
DOCKER_TLD
}}"
EDXAPP_MONGO_HOSTS
:
-
"
mongo.{{
DOCKER_TLD
}}"
EDXAPP_NO_PREREQ_INSTALL
:
0
COMMON_SSH_PASSWORD_AUTH
:
"
yes"
EDXAPP_LMS_BASE
:
"
edx.devstack.lms:18000"
EDXAPP_CMS_BASE
:
"
edx.devstack.studio:18010"
EDXAPP_OAUTH_ENFORCE_SECURE
:
false
EDXAPP_LMS_BASE_SCHEME
:
http
COMMON_SECURITY_UPDATES
:
true
SECURITY_UPGRADE_ON_ANSIBLE
:
true
EDXAPP_INSTALL_PRIVATE_REQUIREMENTS
:
true
EDXAPP_SEARCH_HOST
:
'
edx.devstack.elasticsearch'
EDXAPP_PYTHON_SANDBOX
:
false
This diff is collapsed.
Click to expand it.
docker/plays/edxapp.yml
View file @
c72e0ef9
...
...
@@ -8,4 +8,13 @@
roles
:
-
common_vars
-
docker
-
role
:
nginx
nginx_sites
:
-
lms
-
cms
nginx_default_sites
:
-
lms
nginx_extra_sites
:
"
{{
NGINX_EDXAPP_EXTRA_SITES
}}"
nginx_extra_configs
:
"
{{
NGINX_EDXAPP_EXTRA_CONFIGS
}}"
nginx_redirects
:
"
{{
NGINX_EDXAPP_CUSTOM_REDIRECTS
}}"
-
edxapp
This diff is collapsed.
Click to expand it.
playbooks/roles/edxapp/defaults/main.yml
View file @
c72e0ef9
...
...
@@ -90,12 +90,15 @@ EDXAPP_MYSQL_CSMH_PORT: "{{ EDXAPP_MYSQL_PORT }}"
EDXAPP_MYSQL_HOST
:
'
localhost'
EDXAPP_MYSQL_PORT
:
'
3306'
EDXAPP_SEARCH_HOST
:
'
localhost'
EDXAPP_SEARCH_PORT
:
'
9200'
# list of dictionaries of the format
# { 'host': 'hostname', 'port': 'portnumber', 'otherconfigsuchas use_ssl': 'True' }
# http://elasticsearch-py.readthedocs.org/en/master/api.html#elasticsearch
EDXAPP_ELASTIC_SEARCH_CONFIG
:
-
host
:
"
localhost
"
port
:
9200
-
host
:
"
{{
EDXAPP_SEARCH_HOST
}}
"
port
:
"
{{
EDXAPP_SEARCH_PORT
}}"
EDXAPP_SETTINGS
:
'
{{
COMMON_EDXAPP_SETTINGS
}}'
...
...
@@ -678,6 +681,17 @@ edxapp_theme_dir: "{{ edxapp_data_dir }}/themes"
edxapp_git_identity
:
"
{{
edxapp_app_dir
}}/edxapp-git-identity"
edxapp_git_ssh
:
"
/tmp/edxapp_git_ssh.sh"
edxapp_devstack_logs
:
-
"
{{
nginx_log_dir
}}/access.log"
-
"
{{
nginx_log_dir
}}/error.log"
-
"
{{
supervisor_log_dir
}}/cms-stdout.log"
-
"
{{
supervisor_log_dir
}}/cms-stderr.log"
-
"
{{
supervisor_log_dir
}}/lms-stdout.log"
-
"
{{
supervisor_log_dir
}}/lms-stderr.log"
# Only install packages which are appropriate for this environment
edxapp_npm_production
:
"
yes"
# TODO: This can be removed once VPC-122 is resolved
edxapp_legacy_course_data_dir
:
"
{{
edxapp_app_dir
}}/data"
...
...
This diff is collapsed.
Click to expand it.
playbooks/roles/edxapp/tasks/deploy.yml
View file @
c72e0ef9
...
...
@@ -242,7 +242,7 @@
npm
:
executable
:
"
{{
edxapp_nodeenv_bin
}}/npm"
path
:
"
{{
edxapp_code_dir
}}"
production
:
yes
production
:
"
{{
edxapp_npm_production
}}"
state
:
latest
environment
:
"
{{
edxapp_environment
}}"
become_user
:
"
{{
edxapp_user
}}"
...
...
This diff is collapsed.
Click to expand it.
playbooks/roles/edxapp/tasks/main.yml
View file @
c72e0ef9
...
...
@@ -36,6 +36,18 @@
-
install
-
install:base
-
name
:
write devstack script
template
:
src
:
"
devstack.sh.j2"
dest
:
"
{{
edxapp_app_dir
}}/devstack.sh"
owner
:
"
{{
supervisor_user
}}"
group
:
"
{{
common_web_user
}}"
mode
:
0744
when
:
devstack is defined and devstack
tags
:
-
devstack
-
devstack:install
# This is a symlink that has to exist because
# we currently can't override the DATA_DIR var
# in edx-platform. TODO: This can be removed once
...
...
This diff is collapsed.
Click to expand it.
playbooks/roles/edxapp/templates/devstack.sh.j2
0 → 100644
View file @
c72e0ef9
#!/usr/bin/env bash
# {{ ansible_managed }}
source
{{
edxapp_app_dir
}}
/edxapp_env
COMMAND
=
$1
case
$COMMAND
in
start
)
{{
supervisor_venv_bin
}}
/supervisord
--configuration
{{
supervisor_cfg
}}
# Needed to run bower as root. See explanation around 'edx_django_service_user=root'
echo
'{ "allow_root": true }'
>
/root/.bowerrc
# Docker requires an active foreground task. Tail the logs to appease Docker and
# provide useful output for development.
tail
-f
{{
edxapp_devstack_logs | join
(
" -f "
)
}}
;;
open
)
.
{{
edxapp_nodeenv_bin
}}
/activate
.
{{
edxapp_venv_bin
}}
/activate
cd
{{
edxapp_code_dir
}}
/bin/bash
;;
esac
This diff is collapsed.
Click to expand it.
playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets-cms.j2
View file @
c72e0ef9
{% include "edxapp_common.j2" %}
sudo -E -u {{ edxapp_user }} env "PATH=$PATH" {{ edxapp_venv_bin }}/paver update_assets cms --settings $EDX_PLATFORM_SETTINGS
sudo -E -
H -
u {{ edxapp_user }} env "PATH=$PATH" {{ edxapp_venv_bin }}/paver update_assets cms --settings $EDX_PLATFORM_SETTINGS
This diff is collapsed.
Click to expand it.
playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets-lms.j2
View file @
c72e0ef9
{% include "edxapp_common.j2" %}
sudo -E -u {{ edxapp_user }} env "PATH=$PATH" {{ edxapp_venv_bin }}/paver update_assets lms --settings $EDX_PLATFORM_SETTINGS
sudo -E -
H -
u {{ edxapp_user }} env "PATH=$PATH" {{ edxapp_venv_bin }}/paver update_assets lms --settings $EDX_PLATFORM_SETTINGS
This diff is collapsed.
Click to expand it.
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