Koa

The 11th Open edX release will be named Koa.

Put stuff here that we have to remember when we start packaging up for Koa.  Especially important is information that system installers or operators will need to know. Please include your name when you add an item, so that we can get back to you with questions.

Timeline

The Koa release timeline is date-based rather than feature-based:

  • Sep 28, 2020 : community testing of the master branches, on a best effort basis.

  • Nov 9, 2020 : creation of the open-release/koa.master branch and the open-release/koa.alpha1 tag. New code on master after this date will not be part of Koa; only fixes will be cherry-picked to the open-release/koa.master branch.

  • Dec 9, 2020 : Koa release.

Installation and Operations

Service upgrades

MySQL 5.6 → 5.7 upgrade

TODO: coordinate with @Natalia Berdnikov (Deactivated) to produce upgrade notes for Juniper users.

Upgrading a MySQL docker container

As described in the official instructions, upgrading an existing MySQL 5.6 docker container is as simple as running:

docker exec mysql bash -e -c "mysql_upgrade -u root -p"

Elasticsearch 1.5.2 → 7.0 upgrade

This upgrade was canceled and Koa will still be running Elasticsearch 1.5.2. The upgrade to Elasticsearch 7.8 is scheduled for Lilac.

Other services

@Felipe Espinoza wrote a convenient script to dump the versions of the various services from the native installation: version.py

On Juniper.3, we had (source):

Service

Software

Version

Service

Software

Version

System

mysql

5.6.32

System

mongodb

3.6.17

System

rabbitmq

3.6.9

System

memcached

1.4.25

System

elasticsearch

1.5.2

System

node

v12.19.0

System

npm

6.14.8

System

python

2.7.12

edx-platform

python

3.5.2

edx-sandbox

python

3.5.2

certs

python

2.7.12

discovery

python

3.5.2

ecommerce

python

3.5.2

insight

python

3.5.2

xqueue

python

3.5.2

forum

ruby

2.5.7p206

forum

gem

2.7.8

Cautions

  • Currently, celery can only support a single work queue. Routing tasks to separate queues is disabled in Koa because of difficulties with celery upgraded to 4.x.

Impact on Code

Deprecations and Removals

Based on Koa Dates: 2020-05-28 to 2020-11-12

Deprecations

key summary reporter status deprecation proposal accepted date removal date
Loading...
Refresh

Removals

  • As a part of DEPR-43 work, a migration was added that will drop all tables related to shoppingcart.

  • To disable forum digest features, you now just need to set the Django Setting FEATURES['ENABLE_FORUM_DAILY_DIGEST'] to False.

    • You used to also need to set the waffle flag edx_discussions.enable_forum_daily_digest to False, but that has been replaced with the Django Setting and the waffle flag has been removed in this PR. @Robert Raposa

  • The COURSE_OUTLINE_PAGE_FLAG and UNIFIED_COURSE_TAB_FLAG feature flags have been deprecated (see PR and deprecation ticket DEPR-108). They were replaced by their negative equivalent: DISABLE_COURSE_OUTLINE_PAGE_FLAG and DISABLE_UNIFIED_COURSE_TAB_FLAG which default to False. Thus, if you manually set the older flags (which defaulted to True) to False, you should set the new flags to True.

  • The symlinks in /edx/bin to python, pip, and django-admin.py for each service were removed, as a new version of virtualenv used to create the virtual environments prevents such links from working correctly (in exchange for reliably creating working environments even if the newest releases of pip and setuptools have some problems, among other optimizations and fixes). Any scripts that currently call links such as “/edx/bin/python.edxapp” should be updated to instead call the binaries targeted by such links (in the previous example, “/edx/app/edxapp/venvs/edxapp/bin/python”). The PR that removed them has some additional background notes.

key summary reporter status deprecation proposal accepted date removal date
Loading...
Refresh

Feature Changes