Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Drop the use of the Tubular repository #34

Merged
merged 1 commit into from
Aug 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## Unreleased

* [BREAKING CHANGE] Add support for Tutor 18 and Open edX Redwood.
The Tubular repository has been deprecated and the relevant scripts
have been moved to the `edx-platform` repository (https://github.com/openedx/axim-engineering/issues/881); the plugin now installs the scripts from there.

## Version 3.4.0 (2024-08-01)

* [Bug fix] Complete the removal of (not-ever-working) support for the Ecommerce service, by also removing references to that service from the `openedx-lms-common-settings` patch.
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ appropriate one:
| Lilac | `>=12.0, <13` | Not supported | Not supported |
| Maple | `>=13.2, <14`[^1] | `maple` | 0.1.x |
| Nutmeg | `>=14.0, <15` | `nutmeg` | 1.x.x |
| Olive | `>=15.0, <16` | `main` | 2.x.x |
| Palm | `>=16.0, <17` | `main` | 3.x.x |
| Quince | `>=17.0, <18` | `main` | 3.x.x |
| Olive | `>=15.0, <16` | `quince` | 2.x.x |
| Palm | `>=16.0, <17` | `quince` | 3.x.x |
| Quince | `>=17.0, <18` | `quince` | 3.x.x |
| Redwood | `>=18.0, <19` | `main` | 4.x.x |

[^1]: For Open edX Maple and Tutor 13, you must run version 13.2.0 or
 later. That is because this plugin uses the Tutor v1 plugin API,
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def load_readme():
packages=find_packages(exclude=["tests*"]),
include_package_data=True,
python_requires=">=3.8",
install_requires=["tutor <18, >=16.1.7"],
install_requires=["tutor <19, >=16.1.7"],
setup_requires=["setuptools-scm"],
entry_points={
"tutor.plugin.v1": [
Expand Down
4 changes: 2 additions & 2 deletions tutorretirement/patches/k8s-jobs
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ spec:
command:
- 'bash'
- '-e'
- 'run_retirement_pipeline.sh'
- 'scripts/user_retirement/run_retirement_pipeline.sh'
- '{{ RETIREMENT_COOL_OFF_DAYS }}'
volumeMounts:
- name: pipeline-config
mountPath: '/tubular/pipeline_config/config.yml'
mountPath: '/edx-platform/scripts/user_retirement/pipeline_config/config.yml'
subPath: config.yml
volumes:
- name: pipeline-config
Expand Down
2 changes: 1 addition & 1 deletion tutorretirement/patches/local-docker-compose-jobs-services
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
retirement-job:
image: {{ RETIREMENT_DOCKER_IMAGE }}
volumes:
- ../plugins/retirement/build/retirement/pipeline_config:/tubular/pipeline_config
- ../plugins/retirement/build/retirement/pipeline_config:/edx-platform/scripts/user_retirement/pipeline_config
depends_on:
- lms
4 changes: 2 additions & 2 deletions tutorretirement/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"DOCKER_IMAGE": "{{ DOCKER_REGISTRY }}retirement:{{ RETIREMENT_VERSION }}", # noqa: E501
"EDX_OAUTH2_CLIENT_ID": "retirement_service_worker",
"COOL_OFF_DAYS": 30,
"TUBULAR_VERSION": "{{ OPENEDX_COMMON_VERSION }}",
"K8S_CRONJOB_HISTORYLIMIT_FAILURE": 1,
"K8S_CRONJOB_HISTORYLIMIT_SUCCESS": 3,
"K8S_CRONJOB_SCHEDULE": "0 0 * * *",
Expand Down Expand Up @@ -51,7 +50,8 @@ def retire_users(context):
cool_off_days = config["RETIREMENT_COOL_OFF_DAYS"]
job_runner.run_task(
service="retirement",
command=f"bash -e run_retirement_pipeline.sh {cool_off_days}"
command="bash -e scripts/user_retirement/run_retirement_pipeline.sh "
f"{cool_off_days}"
)


Expand Down
10 changes: 5 additions & 5 deletions tutorretirement/templates/retirement/build/retirement/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ ENV PYTHONUNBUFFERED 1
RUN python3 -m venv /retirement/venv/
ENV PATH "/retirement/venv/bin:$PATH"
RUN apt-get update && \
git clone --depth 1 --branch {{ RETIREMENT_TUBULAR_VERSION }} https://github.com/openedx/tubular.git ./tubular
WORKDIR ./tubular
COPY run_retirement_pipeline.sh .
git clone --depth 1 --branch {{ OPENEDX_COMMON_VERSION }} https://github.com/openedx/edx-platform.git
WORKDIR ./edx-platform
COPY run_retirement_pipeline.sh scripts/user_retirement/
RUN pip install --upgrade pip && \
pip install -r requirements.txt --exists-action w && \
mkdir learners_to_retire
pip install -r scripts/user_retirement/requirements/base.txt --exists-action w && \
mkdir scripts/user_retirement/learners_to_retire
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
cool_off_days=$1
python scripts/get_learners_to_retire.py --config_file=./pipeline_config/config.yml --output_dir=learners_to_retire --cool_off_days="$cool_off_days"
for filename in learners_to_retire/*;do
python scripts/user_retirement/get_learners_to_retire.py --config_file=scripts/user_retirement/pipeline_config/config.yml --output_dir=scripts/user_retirement/learners_to_retire --cool_off_days="$cool_off_days"
for filename in scripts/user_retirement/learners_to_retire/*;do
if test ! -f "$filename";then
echo "No users to retire"
continue
else
IFS="=" read -r name username <"$filename"
echo "Retiring $username"
python scripts/retire_one_learner.py --config_file=./pipeline_config/config.yml --username="$username"
python scripts/user_retirement/retire_one_learner.py --config_file=scripts/user_retirement/pipeline_config/config.yml --username="$username"
fi
done
Loading