Skip to content
This repository was archived by the owner on Aug 1, 2024. It is now read-only.

Commit 398217a

Browse files
NIXKnightnsprenkle
authored andcommitted
chore: update LMS provisioning script for new edx-platform Dockerfile
* edx-platform repo branch NIXKnight/PSRE-1994 has an updated Dockerfile that is intended to be used to containerize edx-platform. * Updates to script(s) in this commit are done so that the devstack is compatible with the image build from the new Dockerfile.
1 parent 5f8d7a5 commit 398217a

2 files changed

Lines changed: 35 additions & 7 deletions

File tree

docker-compose.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,12 @@ services:
455455
EDXAPP_TEST_MONGO_HOST: edx.devstack.mongo
456456
NO_PYTHON_UNINSTALL: 1
457457
DJANGO_WATCHMAN_TIMEOUT: 30
458-
image: edxops/edxapp:${OPENEDX_RELEASE:-latest}
458+
VIRTUAL_ENV: "/edx/app/edxapp/venvs/edxapp"
459+
LMS_CFG: "/edx/etc/lms.yml"
460+
NODE_ENV: "/edx/app/edxapp/nodeenv"
461+
NODE_MODULES: "/edx/app/edxapp/edx-platform/node_modules"
462+
PATH: "/edx/app/edxapp/venvs/edxapp/bin:/edx/app/edxapp/nodeenv/bin:/edx/app/edxapp/edx-platform/node_modules/.bin:/edx/app/edxapp/edx-platform/bin:${PATH}"
463+
image: edxapp-dev:latest
459464
networks:
460465
default:
461466
aliases:
@@ -646,7 +651,7 @@ services:
646651
EDXAPP_TEST_MONGO_HOST: edx.devstack.mongo
647652
NO_PYTHON_UNINSTALL: 1
648653
DJANGO_WATCHMAN_TIMEOUT: 30
649-
image: edxops/edxapp:${OPENEDX_RELEASE:-latest}
654+
image: edxapp-dev:latest
650655
networks:
651656
default:
652657
aliases:

provision-lms.sh

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,20 @@ for app in "${apps[@]}"; do
1515
docker-compose up -d $app
1616
done
1717

18-
docker-compose exec -T lms bash -e -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PYTHON_UNINSTALL=1 paver install_prereqs'
18+
docker-compose exec -T -u root lms bash -e -c 'apt-get update && apt-get -y install --no-install-recommends git'
19+
20+
docker-compose exec -T -u root lms bash -e -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PYTHON_UNINSTALL=1 paver install_prereqs'
1921

2022
#Installing prereqs crashes the process
2123
docker-compose restart lms
2224

2325
# Run edxapp migrations first since they are needed for the service users and OAuth clients
24-
docker-compose exec -T lms bash -e -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && paver update_db --settings devstack_docker'
26+
# docker-compose exec -T -u root lms bash -e -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && paver update_db --settings devstack_docker'
27+
28+
docker-compose exec -T lms bash -e -c '/edx/app/edxapp/venvs/edxapp/bin/python manage.py lms showmigrations --database default --traceback --pythonpath=. --settings devstack_docker'
29+
docker-compose exec -T lms bash -e -c '/edx/app/edxapp/venvs/edxapp/bin/python manage.py lms migrate --database default --noinput --traceback --pythonpath=. --settings devstack_docker'
30+
docker-compose exec -T lms bash -e -c '/edx/app/edxapp/venvs/edxapp/bin/python manage.py lms showmigrations --database student_module_history --traceback --pythonpath=. --settings devstack_docker'
31+
docker-compose exec -T lms bash -e -c '/edx/app/edxapp/venvs/edxapp/bin/python manage.py lms migrate --database student_module_history --noinput --traceback --pythonpath=. --settings devstack_docker'
2532

2633
# Create a superuser for edxapp
2734
docker-compose exec -T lms bash -e -c 'source /edx/app/edxapp/edxapp_env && python /edx/app/edxapp/edx-platform/manage.py lms --settings=devstack_docker manage_user edx edx@example.com --superuser --staff'
@@ -34,14 +41,30 @@ docker-compose exec -T lms bash -e -c 'source /edx/app/edxapp/edxapp_env && echo
3441
docker-compose exec -T lms bash -e -c 'source /edx/app/edxapp/edxapp_env && python /edx/app/edxapp/edx-platform/manage.py lms --settings=devstack_docker configure_commerce'
3542

3643
# Create demo course and users
37-
docker-compose exec -T lms bash -e -c '/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook /edx/app/edx_ansible/edx_ansible/playbooks/demo.yml -v -c local -i "127.0.0.1," --extra-vars="COMMON_EDXAPP_SETTINGS=devstack_docker"'
44+
#docker-compose exec -T lms bash -e -c '/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook /edx/app/edx_ansible/edx_ansible/playbooks/demo.yml -v -c local -i "127.0.0.1," --extra-vars="COMMON_EDXAPP_SETTINGS=devstack_docker"'
45+
docker-compose exec -T lms bash -e -c 'git clone https://github.com/openedx/edx-demo-course.git /tmp/edx-demo-course'
46+
docker-compose exec -T lms bash -e -c 'python /edx/app/edxapp/edx-platform/manage.py cms --settings=devstack_docker import /edx/var/edxapp/data /tmp/edx-demo-course && rm -rf /tmp/edx-demo-course'
47+
demo_hashed_password='pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw='
48+
for user in honor audit verified staff ; do
49+
email="$user@example.com"
50+
# Set staff flag for staff user
51+
if [[ $user == "staff" ]] ; then
52+
docker-compose exec -T lms bash -e -c "python /edx/app/edxapp/edx-platform/manage.py lms --settings=devstack_docker --service-variant lms manage_user $user $email --initial-password-hash \'$demo_hashed_password\' --staff"
53+
else
54+
docker-compose exec -T lms bash -e -c "python /edx/app/edxapp/edx-platform/manage.py lms --settings=devstack_docker --service-variant lms manage_user $user $email --initial-password-hash \'$demo_hashed_password\'"
55+
fi
56+
# Enroll users in the demo course
57+
docker-compose exec -T lms bash -e -c "python /edx/app/edxapp/edx-platform/manage.py lms --settings=devstack_docker --service-variant lms enroll_user_in_course -e $email -c course-v1:edX+DemoX+Demo_Course"
58+
done
59+
# Seed forums for the demo course
60+
docker-compose exec -T lms bash -e -c "python /edx/app/edxapp/edx-platform/manage.py lms --settings=devstack_docker seed_permissions_roles course-v1:edX+DemoX+Demo_Course"
3861

3962
# Fix missing vendor file by clearing the cache
40-
docker-compose exec -T lms bash -e -c 'rm /edx/app/edxapp/edx-platform/.prereqs_cache/Node_prereqs.sha1'
63+
docker-compose exec -T -u root lms bash -e -c 'rm /edx/app/edxapp/edx-platform/.prereqs_cache/Node_prereqs.sha1'
4164

4265
# Create static assets for both LMS and Studio
4366
for app in "${apps[@]}"; do
44-
docker-compose exec -T $app bash -e -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && paver update_assets --settings devstack_docker'
67+
docker-compose exec -T $app bash -e -c 'export EDX_PLATFORM_SETTINGS=assets && export STATIC_ROOT_BASE=/edx/var/edxapp/staticfiles && export WEBPACK_CONFIG_PATH=webpack.dev.config.js && export JS_ENV_EXTRA_CONFIG={} && paver update_assets'
4568
done
4669

4770
# Allow LMS SSO for Studio

0 commit comments

Comments
 (0)