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

feanil/fix uwsgi xml issues #1156

Closed
wants to merge 42 commits into from

Conversation

feanil
Copy link
Contributor

@feanil feanil commented Nov 12, 2024

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.
regisb and others added 12 commits October 17, 2024 08:28
This makes it more clear for everyone that Tutor is an Open edX
distribution.

Close overhangio#1120
…o#1117)

* feat: update Open edX image to use ubuntu 22.04 as base OS
…to Redwood (overhangio#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
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.
@feanil feanil closed this Nov 12, 2024
@feanil feanil deleted the feanil/fix_uwsgi_xml_issues branch November 12, 2024 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants