Past Upgrades

Elasticsearch 7.8

What is this?

  • Most of our services which perform full-text search used the 4-year-old Elasticsearch 1, which was still supported by AWS but not upstream. We upgraded to the latest release available at the time.

What do I do?

  • Report any remaining usage of Elasticsearch < 7.8 you find to the arch-bom team.

Where are we now?

Python 3.8

What is this?

  • Some of our production services were still using Python 3.5, which reached end of life on September 13th, 2020. We upgraded them to 3.8, which was the newest stable version and will be supported until October 2024.

What do I do?

  • Report any remaining usage of Python < 3.8 you find to the arbi-bom team.

Where are we now?

Ubuntu 20.04

What is this?

  • Our primary operating system in production had been Ubuntu 16.04 which went out of support in April 2021

  • The next recommended Ubuntu version was 20.04.

  • The supported Open edX installation (Native Installation) puts everything on a single Ubuntu box, so all services must run on the same version. Koa was released on December 9th, 2020, and was supported for six months. Since 16.04 went out of support in April 2021, we needed Koa to run on 20.04.

  • Deadline: November 9, 2020.

What do I do?

  • Report any remaining usage of Ubuntu < 18.04 you find to the SRE team.

Where are we now?

MySQL 5.7

What is this?

  • Our primary relational database systems were Aurora 5.6 and MySQL 5.6 which went out of support in April 2021.

  • DevOps drove the upgrade path to 5.7 and targeted September 2020 for completion.

What do I do?

  • Report any remaining usage of MySQL < 5.7 you find to the SRE team.

Where are we now?

Django 2.2

What is this?

  • Most of our production services had been using Django 1.11, a long-term support release which reached end of life in April 2020. We switched them to use Django 2.2, the next LTS release which is supported until April 2022.

What do I do?

  • Report any remaining usage of Django < 2.2 you find to the arch-bom team.

Where are we now?

  • Essentially all of our services are now upgraded.

Mongo 3.6

What is this?

  • @Joe Mulloy (Deactivated) and the DevOps team upgraded Mongo to 3.6 in March 2020.

Where are we now?

  • We are using Mongo 3.6 and hosting our own databases, in the future we may want to upgrade to Mongo 4 and use AWS DocumentDB

Python 3.5

What is this?

  • Most of our production services were using Python 2.7, which reached end of life in January 2020.

What do I do?

  • Report any remaining usage of Python 2 you find to the arch-bom team.

Where are we now?

  • Essentially all services are now on some still-supported version of Python 3. One or two stragglers are in the process of being deprecated and shut down, and the last remaining usage of 2.7 in the configuration repo for deployments is being cleaned up.