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

Django 4.2 Upgrade #269

Closed
28 of 41 tasks
UsamaSadiq opened this issue May 2, 2023 · 10 comments
Closed
28 of 41 tasks

Django 4.2 Upgrade #269

UsamaSadiq opened this issue May 2, 2023 · 10 comments
Assignees
Labels
maintenance Routine upkeep necessary for the health of the platform
Milestone

Comments

@UsamaSadiq
Copy link
Member

UsamaSadiq commented May 2, 2023

Abstract

Django 4.2, the latest LTS version for Django has been released for the community. To keep our codebase updated, we need to upgrade Django version in all IDAs and packages in the edx and openedx organisations.

Context & Background

According to our Support Windows Spreadsheet, we should upgrade Django to latest LTS release in the next planned release so community can also upgrade their projects to latest tech-stack.

Scope & Approach

The initial approach for this issue is as following (It'll be updated later on):

  • arbi-bom team will be the one responsible to manage this upgrade among all services and provide any help to the teams if needed or requested by the other teams.
  • All the private and public repos (containing the usage of Django) under edx and openedx organisations will be updated.
  • All the owning teams will be approached to have their preferred method to upgrade the repositories under their ownership and collaborate to complete the task before the supposed deadline.

Value & Impact

Updating the Django version to the latest LTS version Django 4.2 will provide long term security upgrades assurance to the complete codebase and the community which is using the openedX codebase as underlying base for their projects.

Milestones and/or Epics

Following will be the major milestones for this upgrade process (can be improved later on):

Milestones

Named Release

Quince

Timeline

Due Date: Sep 30th, 2023 - The due date is before the deadline to cut branches for the next target release.

Target Release: Quince

Proposed By

2U

Orchestration Team

Arbi-BOM

Additional Info

No response

@github-actions
Copy link

github-actions bot commented May 2, 2023

Thanks for your submission, @openedx/open-edx-project-managers will review shortly.

@ormsbee
Copy link

ormsbee commented May 13, 2023

@UsamaSadiq: If I'm working on a fairly new repo and I want to be testing on both Django versions from the start, what's a good repo to look at for tox.ini / workflow file examples?

@UsamaSadiq
Copy link
Member Author

@ormsbee: We've already added support to run checks with multiple Django versions in some repos. For reference, you can have a look at the https://github.com/openedx/XBlock repo.

@ormsbee
Copy link

ormsbee commented May 17, 2023

@UsamaSadiq: That's perfect, thank you.

@UsamaSadiq
Copy link
Member Author

Created new project field Django 4.2 Upgrade in the Maintenance Project and a new view Django 4.2 to track the issues related to Django 4.2 upgrade.

@UsamaSadiq
Copy link
Member Author

Added all upgrades issues on the maintenance board. The new Django 42 view now tracks all the issues.

@ormsbee
Copy link

ormsbee commented Oct 27, 2023

@UsamaSadiq, @jmbowman: Is there an updated estimate for when 4.2 support will land for edx-platform? I'm developing a feature that would be configured differently between 3.2 and 4.2. I'm going under the assumption that I'll have to support both, but I won't bother if 4.2 is landing in edx-platform in the next couple of weeks.

@UsamaSadiq
Copy link
Member Author

@UsamaSadiq, @jmbowman: Is there an updated estimate for when 4.2 support will land for edx-platform? I'm developing a feature that would be configured differently between 3.2 and 4.2. I'm going under the assumption that I'll have to support both, but I won't bother if 4.2 is landing in edx-platform in the next couple of weeks.

So far, we are still stuck on successfully doing the MySQL 8.0 upgrade which is a major blocker for the Django 4.2 upgrade. Currently, we can not give a potential deadline for this blocker to be resolved since we (including SRE team) have already made two attempts (blue/green deployment, data migration to replica db) in MySQL 8.0 upgrade but those failed due to the large table size we need to migrate.
Hence it'd be better if you can provide support for both Django versions for now.

@feanil feanil self-assigned this Apr 23, 2024
@feanil feanil added operational-impact More operational effort will be required than usual and removed operational-impact More operational effort will be required than usual labels Apr 23, 2024
@feanil
Copy link
Contributor

feanil commented Jul 15, 2024

@UsamaSadiq sholud this ticket still be open? It seems like it could be closed.

@feanil
Copy link
Contributor

feanil commented Aug 14, 2024

A quick grep through the django versions in the openedx org does not show any major services that are still running older versions of PyMongo. Please re-open if you you find something I missed.

@feanil feanil closed this as completed Aug 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Routine upkeep necessary for the health of the platform
Projects
Archived in project
Status: Shipped
Development

No branches or pull requests

4 participants