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

Upgrade to Sumac #1139

Open
wants to merge 56 commits into
base: release
Choose a base branch
from
Open

Upgrade to Sumac #1139

wants to merge 56 commits into from

Conversation

DawoudSheraz
Copy link
Contributor

@DawoudSheraz DawoudSheraz commented Oct 17, 2024

v19.0.0 sumac release

Todos before merge

  • Ensure changelog entry exists for v19
  • Ensure CI/Tests are working as expected
  • Ensure sumac branch is up-to-date with nightly (not including the changes merged directly to sumac)
  • Ensure OPENEDX_COMMON_VERSION is pointing to correct tag open-release/sumac.1

Merge Option

  • Ensure "Merge Commit" option is used to merge the branch into master (Responsible: @DawoudSheraz ). This is needed to ensure the commit history when master is merged back to nightly

regisb and others added 30 commits June 20, 2024 00:14
This is required when upgrading from Tutor v15 to v18 directly
MySQL does not allow direct upgrades from v5.7 to v8.4
Content Libraries will store asset files like images, transcripts, and
PDFs using Learning Core–which in turn uses django-storages and expects
some backing file store. These files should NOT be directly accessible
via the browser, both because of access policies and the fact that the
filenames will not be meaningful by themselves and must be translated by
app logic. For details see:

* https://github.com/openedx/openedx-learning/blob/main/docs/decisions/0015-serving-static-assets.rst
* https://github.com/openedx/openedx-learning/blob/main/openedx_learning/apps/authoring/contents/models.py
* https://github.com/openedx/openedx-learning/blob/main/openedx_learning/apps/authoring/components/models.py

The existing /data/openedx-media -> /openedx/media mount is publicly
accessible by browser, and so is not appropriate for this purpose. This
commit creates a parallel /data/openedx-media-private ->
/openedx/media-private volume mapping instead.

This commit also creates configuration needed for openedx-learning to
point to this new directory.

This commit does NOT currently add support for this in k8s, as that will
require changes to the minio plugin.
DawoudSheraz and others added 5 commits October 25, 2024 10:47
* feat: update Open edX image to use ubuntu 22.04 as base OS
…to Redwood (#1140)

* ix: run MySQL 8.1 as a separate container during upgrade from Olive to Redwood
We do this because MySQL 8.1 does not have the --mysql-native-password option
We have this option turned on for backward compatibility
@DawoudSheraz DawoudSheraz changed the base branch from nightly to master November 6, 2024 13:40
When uwsgi runs with xml support, it throws the following error on
startup with the latest version of edx-platform:

```
xmlsec.InternalError: (-1, 'lxml & xmlsec libxml2 library version mismatch')
```

See xmlsec/python-xmlsec#320 for more details
on this.

Essentially, the uWSGI wheel is built against a different version of
libxml2 and it causes this version mismach error when trying to load
xmlsec.  The xml support in uWSGI is only needed for runing with xml
configuration files, which tutor does not do.  Following the guidance of
the above issue, I updated the `openedx` Dockerfile to no longer compile
with any xml support as a part of the build. The time to build uWSGI was
only slightly more than building from cache so I'm not concerned about
major slowdowns in the build time for un-cached builds.
# Additional service for watching theme changes
watchthemes:
<<: *openedx-service
command: npm run watch-sass
restart: unless-stopped

{% if RUN_ELASTICSEARCH and is_docker_rootless() %}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we no longer use ElasticSearch, can we remove the is_docker_rootless method? This is the PR where the function was created, it is not invoked anywhere else

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes!!! I love deleting code. @Faraz32123 please note that you will need to add the is_docker_rootless template filter to your discovery PR.

Overhang.IO and others added 11 commits November 22, 2024 13:51
With this change, we get rid of Elasticsearch across all of Tutor.
Instead, we run Meilisearch, which is much more lightweight in terms of
memory usage. Obviously, this is a (very) breaking change. Indexing
commands will be run during init, such that search should work as
before.

After the edx-search PR is merged and the dependency is upgraded in
edx-platform, we should remove the manual `RUN pip install ...` command.
In Sumac, it was decided that we would not automatically migrating data
from mongodb to mysql. Instead, we encourage users to do so manually, in
the tutor-forum README.
This filter was used only by Elasticsearch, so we no longer need to
include it in Tutor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

7 participants