7
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-06-26 00:42:35 +00:00
tutor/CHANGELOG-nightly.md
Kyle McCormick 76ef7de74f fix: lms-worker/cms-worker command update for Celery 5
Before edx-platform was upgraded to Celery 5, lms-worker and
cms-worker could be invoked using this syntax:

  celery worker --app=APP <args> --maxtasksperchild=N <args>

Since the recent Celery 5 upgrade (edx-platform commit 0588c92),
though, this fails with the messages:

  You are using `--app` as an option of the worker sub-command:
  celery worker --app celeryapp <...>
  The support for this usage was removed in Celery 5.0.
  Instead you should use `--app` as a global option:
  celery --app celeryapp worker <...>

and:

  Error: No such option: --maxtasksperchild
  (Possible options: --max-memory-per-child, --max-tasks-per-child)

So, this commit changes the lms-worker and cms-worker invocations to:

  celery --app=APP <args> --max-tasks-per-child=N <args>
2022-03-24 08:20:24 +01:00

2.7 KiB

Changelog (nightly branch)

Note: Breaking changes between versions are indicated by "💥".

  • [Bugfix] Update celery invocations for lms-worker and cms-worker to be compatible with Celery 5 CLI.
  • [Improvement] Point CMS at its config file using CMS_CFG environment variable instead of deprecated STUDIO_CFG.
  • [Bugfix] Start MongoDB when running migrations, because a new data migration fails if MongoDB is not running
  • [Feature] Better support of Caddy as a load balancer in Kubernetes:
    • Make it possible to start/stop a selection of resources with tutor k8s start/stop [names...].
    • Make it easy to deploy an independent LoadBalancer by converting the caddy service to a ClusterIP when ENABLE_WEB_PROXY=false.
    • Add a app.kubernetes.io/component: loadbalancer label to the LoadBalancer service.
    • Add app.kubernetes.io/name labels to all services.
    • Preserve the LoadBalancer service in tutor k8s stop commands.
    • Wait for the caddy deployment to be ready before running initialisation jobs.
  • [Security] On Kubernetes, convert all NodePort services to ClusterIP to guarantee network isolation from outside the cluster.
  • 💥[Improvement] Drop Python 3.5 compatibility.
  • [Bugfix] Fix docker-compose project name in development on nightly branch.
  • 💥[Bugfix] No longer track the Tutor version number in resource labels (and label selectors, which breaks the update of Deployment resources), but instead do so in resource annotations.
  • [Bugfix] Make it possible for plugins to implement the "caddyfile" patch without relying on the "port" local variable.
  • 💥[Improvement] Move the Open edX forum to a dedicated plugin (#450).
  • 💥[Improvement] Get rid of the "tutor-openedx" package, which is no longer supported.
  • [Bugfix] Fix running Caddy container in k8s, which should always be the case even if ENABLE_WEB_PROXY is false.
  • 💥[Improvement] Run all services as unprivileged containers, for better security. This has multiple consequences:
    • The "openedx-dev" image is now built with tutor dev dc build lms.
    • The "smtp" service now runs the "devture/exim-relay" Docker image, which is unprivileged. Also, the default SMTP port is now 8025.
  • 💥[Feature] Get rid of the nginx container and service, which is now replaced by Caddy. this has the following consequences:
    • Patches "nginx-cms", "nginx-lms", "nginx-extra", "local-docker-compose-nginx-aliases" are replaced by "caddyfile-cms", "caddyfile-lms", "caddyfile", " local-docker-compose-caddy-aliases".
    • Patches "k8s-deployments-nginx-volume-mounts", "k8s-deployments-nginx-volumes" were obsolete and are removed.
    • The NGINX_HTTP_PORT setting is renamed to CADDY_HTTP_PORT.