From ecc68fa357f3c84918d52fe7e7ac3268c718cc66 Mon Sep 17 00:00:00 2001 From: Justin Hynes Date: Wed, 22 Jan 2025 11:33:06 -0500 Subject: [PATCH] feat: provision retirement states during lms setup We would like new devstack instances to better support the user retirement pipeline out of the box after provisioning. This PR adds a new provisioning script that will be run during LMS setup. It runs the `populate_retirement_states` management command in order to build the `user_api_retirementstate` table. Without this, user deletion will fail, as the system doesn't understand what to do when retiring user accounts. --- provision-lms.sh | 3 +++ provision-retirement-states.sh | 9 +++++++++ 2 files changed, 12 insertions(+) create mode 100755 provision-retirement-states.sh diff --git a/provision-lms.sh b/provision-lms.sh index 184be241..de257f20 100755 --- a/provision-lms.sh +++ b/provision-lms.sh @@ -88,5 +88,8 @@ done # Provision a retirement service account user ./provision-retirement-user.sh retirement retirement_service_worker +# Provision the default retirement states +./provision-retirement-states.sh + # Add demo program ./programs/provision.sh lms diff --git a/provision-retirement-states.sh b/provision-retirement-states.sh new file mode 100755 index 00000000..5322476a --- /dev/null +++ b/provision-retirement-states.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#This script depends on the LMS being up! +set -eu -o pipefail + +. scripts/colors.sh +set -x + +echo -e "${GREEN}Creating retirement states...${NC}" +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 populate_retirement_states'