...
Announcements will be posted to Slack in #tutor-maintenance
Recordings
https://drive.google.com/drive/folders/1jHyN3DMxwfNEgPxiUJOJS3Q3mb0Z0uMx
Agenda and Notes
We meet every other week. Our schedule and video conferencing link is on the Working Group Calendar. The meeting is usually hosted by Kyle McCormick .
You can add topics below ahead of time, or add them during the meeting.
2024-06-03
MFE build time (below)
Configuring open edx services with tutor
Moises and Maksim work on large instances group
Some of tutor’s default were meant to simplify setup
For large instances, they need to undo tutor’s defaults
example: celery queues
tutor uses one celery queue
at scale, the queue can fill up
using patches, large instances has been undoing tutor’s configuration changes
edx-platform is complex to follow, with all the indirection
related: OEP-45 simplification
could be better to have a blank slate
edunext had to replicate ansible installation settings, using tutor
they are using settings patches
yaml settings patch
common settings
production patches
some files don’t have patches
Having plugins expose configuration interfaces
tutor-contrib-pod-autoscaling
rather than add more config settings, the plugin
2024-05-20
MFE build time
1hr+ to build MFEs
Number of MFEs has not changed since Quince – 10 (https://github.com/overhangio/openedx-release-demo/blob/master/.github/workflows/deploy.yml#L101 )
Custom npm registries
Local deployment of an npm registry
vs. shared npm registry
devstack had devpi for python reqs
devpi is pretty easy to set up
install vs build - which is the problem?
both
building all MFEs (except Learner Dash) without cache on AWS spot fleet m5.xlarge
parallelism=4
Duration: 43 minutes 4 seconds
Max number of simultaneous connections to npm registry by IP address
why does the network connection break when we have too much parallelism in the build?
this seems different than the npm connection limitation. seems that the host’s network connection is failing
saturation of bandwidth?
to build mfes in sandbox, had to explicitly set max_parallelism=2
Solutions
Sharing dependencies across MFEs
“No New MFEs”
Remote registry
Axim-provided registry? network of registries, different providers in different regions
Local registry
This can definitely have multiple versions
Local cache. Two potential issues:
1. ensure that it’s actually caching anything at all:https://discuss.openedx.org/t/npm-clean-install-in-mounted-directories-sh-super-slow-on-tutor-nightly-dev-with-mounted-edx-platform/12761/3
2. version conflicts across MFEs may invalidate a shared cache
Other solutions (not currently following up on)
Pre-built image with some deps
Max has tried this
Install one mfe’s deps using previous mfe as a base
Used pnpm – can handle multiple different versions of package
pnpm didn’t work out of the box
pnpm , workspace for each mfe
...