6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-11-18 02:55:17 +00:00
Commit Graph

654 Commits

Author SHA1 Message Date
Régis Behmo
18d05fcbbb Replace databases command by init.
Since initialisation does not only refer to database migrations, it
makes more sense to rename this command.
2019-06-07 22:49:45 +02:00
Régis Behmo
6a68c4cc20 Progress on the plugins/k8s front
This commit introduces many changes:
- a fully functional minio plugin for local installation
- an almost-functional native k8s deployment
- a new way to process configuration, better suited to plugins

There are still many things to do:
- get rid of all the TODOs
- get a fully functional minio plugin for k8s
- add documentation for pluginso
- ...
2019-06-07 22:49:45 +02:00
Régis Behmo
f5c225231f Move config logic to dedicated non-command module 2019-06-07 22:49:45 +02:00
Régis Behmo
334f3e720e Towards a stable Kubernetes integration
Missing features:
- https certificates
- xqueue
- lms/cms workers

Moreover, we scalability issues due to the uploaded file storage in the
lms/cms. To address this issue we need to develop the MinIO plugin so
that it becomes compatible with Open edX.

Close #126 #179 #187
2019-06-07 22:49:45 +02:00
Régis Behmo
3b108d21de 🔌 Introduce a plugin system for tutor
This adds the basic feratures that we need for a working plugin system,
but there are still many TODOs in the codebase.
2019-06-07 22:49:45 +02:00
Régis Behmo
38394c0824 Plugins and tests are linted, too 2019-06-07 22:49:45 +02:00
Régis Behmo
1a79e9f045 v3.3.11 (2019-06-07)
- [Improvement] Upgrade to ironwood.2
- [Improvement] Add `-y/--yes` option to `local quickstart` for non-interactive quickstart
- [Improvement] Persist LMS/CMS logs to disk by default (with collaboration from @silviot 💪)
- [Bugfix] Fix installing a locally cloned requirement repository
- [Improvement] Add `--no-cache` option to `images build`
- [Improvement] Make it possible to configure the notes service hostname
- [Improvement] Better, more robust MySQL initialization
2019-06-07 22:49:45 +02:00
Régis Behmo
5cb1abf6b1 Make data directories in openedx/xqueue containers
These directories are not necessary per se, but they allow us to use our
tutor settings without having to mount an external directory.
2019-06-07 22:49:45 +02:00
Régis Behmo
7a3c0e2f84 Upgrade from ironwood.1 to ironwood.2
Because https://github.com/edx/edx-platform/pull/20325/ was merged in
ironwood.2, we no longer need this patch.
2019-06-07 22:49:45 +02:00
Régis Behmo
d012a7cfaf Make forum container available even when services are missing
This is especially useful on Kubernetes. With this change, the forum
container no longer crashes whenever mongodb or elasticsearch are
unavailable. Instead, it just waits for thoses services to be up.

Previously, we could not run forum migrations in Kubernetes because they
relied on exec-ing the migration command in the running container -- and
there was no such container, because the services where not already up.
2019-06-07 22:49:45 +02:00
Régis Behmo
02a7bd5cbc No automated formatting for templates 2019-06-03 15:41:25 +02:00
Régis Behmo
a6c434689c Fix integration with new script interface 2019-05-29 11:20:52 +02:00
Régis Behmo
58d2af30a0 Minor formatting 2019-05-29 11:20:37 +02:00
Régis Behmo
d8bea87a2f Fix autocomplete for some commands
Auto-completing commands that were imported with `name=...` option was
incorrect.
2019-05-29 10:31:53 +02:00
Régis Behmo
307398a306 Add link to youtube video in README
Github does not support embedded videos in README, so we need to
directly link to the video on youtube.
2019-05-29 10:31:53 +02:00
Régis Behmo
f251b7b413 Minor docker-compose.yml template improvements 2019-05-29 10:31:53 +02:00
Régis Behmo
b5f51687a7 Add -y/--yes option to local quickstart 2019-05-29 10:31:53 +02:00
Régis Behmo
ebcb08b5eb Fix save/render for single files 2019-05-29 10:31:53 +02:00
Régis Behmo
0093198864 Refactor scripts running
Instead of passing a `run_func` argument, which is clumsy, we create a
BaseRunner from which local and k8s runners can inherit.
2019-05-29 09:53:54 +02:00
Régis Behmo
65dce18908 Add TUTOR_VERSION to template variables 2019-05-29 09:53:54 +02:00
Régis Behmo
0199a1e916 Add convenient fmt.echo_* functions 2019-05-29 09:53:54 +02:00
Régis Behmo
407659ff06 Major refactoring of config module
Configuration loading was overly complex. Here, we simplify it
drastically with reasonable defaults. Hacky additional variables are
unncessary now that we use custom jinja2 filters.
2019-05-29 09:53:54 +02:00
Régis Behmo
754da2f06f Move command modules to dedicated directory 2019-05-29 09:53:54 +02:00
Régis Behmo
09d7b49628 Minor scripts.py refactoring/renaming 2019-05-29 09:53:54 +02:00
Régis Behmo
68d23c5dd5 Env module refactoring
Better naming and tests.
2019-05-29 09:53:54 +02:00
Régis Behmo
a97453135e Blackify tests, too 2019-05-29 09:53:54 +02:00
Régis Behmo
badb28b361 Better mysql initialization
For initializing the mysql database, we now run the mysql client from
the mysql container. That means that the mysql client is no longer
required in the openedx container, as previously suggested in PR #209.
2019-05-29 09:53:54 +02:00
Régis Behmo
3362308ad3 Improve lms/cms logging
- deduplicate stdout logs
- don't persist celery logs
- persist logs to all.log by default
2019-05-29 09:53:15 +02:00
Silvio Tomatis
b79cd1799b Make it possible to persist lms/cms logs to files
By symlinking /dev/stdout to a .log file, we make it possible for users
to manually persist lms/cms logs to a file.
2019-05-29 09:53:15 +02:00
Régis Behmo
04893981b7 Add github template for questions 2019-05-23 12:59:18 +02:00
Régis Behmo
ea6c276b69 Add missing quotes in documentation 2019-05-22 20:03:46 +02:00
Régis Behmo
f11f47f9f0 Fix installing a locally cloned requirement repository
When running `pip install -r /path/to/x.txt`, relative paths listed in
x.txt are supposed to be relative to the current folder, and not the
x.txt folder. This results in an error during `pip install`:

   ./xblock-poll/ should either be a path to a local project or a VCS
   url beginning with svn+, git+, hg+, or bzr+

This error was first reported here:
https://discuss.overhang.io/t/installing-custom-xblock/61
2019-05-22 20:03:46 +02:00
Régis Behmo
0a49c2422a Add --no-cache option to images build 2019-05-22 19:17:54 +02:00
Régis Behmo
4e98b020db Include lighting talk video in docs 2019-05-20 18:38:43 +02:00
Régis Behmo
2234510cfb Make it possible to configure the notes service hostname
This is important, in particular in development.
2019-05-15 10:52:45 +02:00
Régis Behmo
79ad1871d2 v3.3.10 (2019-05-15)
- [Bugfix] Fix boolean configuration choices
2019-05-15 10:33:29 +02:00
Régis Behmo
71ee7bc980 Fix boolean configuration choices
Since the ask_bool refactoring, boolean choices were no longer taken
into account during interactive configuration.
2019-05-15 10:19:51 +02:00
Régis Behmo
e1c5ea4e3e v3.3.9 (2019-05-13)
- [Improvement] Add `local exec` command for running commands inside
existing containers
- [Bugfix] Fix triple display of courses in LMS search (upstream patch,
2019-05-13 17:28:23 +02:00
Régis Behmo
9e6a387adc Document how to migrate a local platform to a different server
Close #186.
2019-05-13 17:26:39 +02:00
Régis Behmo
c9ad618132 Add basic contribution guidelines 2019-05-13 16:52:03 +02:00
Régis Behmo
cac0fb8404 Update issue templates 2019-05-13 16:41:34 +02:00
Régis Behmo
b4e3c43902 Better documentation
- More concise table of contents
- New intro
- Simpler make commands
- Fix a couple typos here and there
- Get rid of the default github issue template, and start using the
template created online.
2019-05-13 16:34:17 +02:00
Régis Behmo
4f9bb7d752 Add local exec command 2019-05-05 12:30:20 +02:00
Régis Behmo
6196defa8b Simplify CI install/testing 2019-05-05 12:30:20 +02:00
Régis Behmo
f2f714ad23 Run code formatting on the entire code base 2019-05-05 12:30:20 +02:00
Régis Behmo
4ac7dff06a Switch from nose to unittest for running tests
This harmonizes test running between CI and local development.
2019-05-05 12:30:20 +02:00
Régis Behmo
9dd4c26706 Introduce automatic code formatting/linting
Code formatting makes sure that the python code looks decent, but it
does not check for coding errors.
https://black.readthedocs.io/en/stable/

Code linting runs static error detection on the python code, but does
not bother about formatting: https://pylint.readthedocs.io/en/latest/
2019-05-05 12:30:20 +02:00
Régis Behmo
52c80631c6 Document CLI auto-complete 2019-05-03 07:55:21 +02:00
Silvio Tomatis
4b6e6bcbf7 Do not require bash to be installed in docker containers.
Tutor is not using any bash-specific feature.
This commit changes (almost) all invocations to /bin/bash replacing them with
/bin/sh. It allows building a docker image that does not bundle bash in it.

The file k8s.py still has a bash invocation, to make sure this change does not
impact functionality for any user.
2019-05-03 07:25:49 +02:00
Régis Behmo
ce03d5fe4a Adjust the number of gunicorn workers
Given that each gunicorn worker uses ~200-250Mb virtual memory, we should
really avoid running too many of them. Here, we reduce the default
number of workers to 2. For the LMS and the CMS, this number can be
adjusted by setting an environment variable GUNICORN_WORKERS.

This is related to #207.
2019-05-02 09:17:00 +02:00