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
Régis Behmo
25d1d38f85
Fix triple course display in LMS search dashboard
...
Apply upstream patch from https://github.com/edx/edx-platform/pull/20325/
Close #189 .
2019-04-29 19:41:53 +02:00
Régis Behmo
34789273e6
v3.3.8 (2019-04-28)
...
- [Bugfix] Reduce the number of gunicorn workers to address RAM usage (#207 )
2019-04-28 09:35:51 +02:00
Régis Behmo
31efc550c3
Less gunicorn workers for less RAM usage
...
Settings the number of workers for the LMS and the CMS to 2*|CPU|+1
results in 4*|CPU]+2 gunicorn workers, which is too much for a laptop to
cope with.
Close #207
2019-04-28 09:34:02 +02:00
Régis Behmo
1d6dc5f609
v3.3.7 (2019-04-28)
...
- [Bugfix] Fix "Timeout after 20s" on running migrations
2019-04-28 08:31:43 +02:00
Régis Behmo
92d7e7c418
Fix running migrations
...
Migrations were being done on openedx-assets, which does not depend on
mysql. As a consequence, the mysql container was not being created on
"migrate" and migrations were failing with "Timeout after 20s".
2019-04-28 08:26:45 +02:00
Régis Behmo
acbd5ae371
Test interactive configuration in travis-ci
...
With this test we would have realised earlier there was a bug with
config defaults.
2019-04-27 10:58:43 +02:00
Régis Behmo
a2241a07c6
v3.3.6 (2019-04-27)
...
- [Bugfix] Fix KeyError on first quickstart
- [Improvement] De-duplication of prod/dev settings. Thanks @silviot! 😺
2019-04-27 10:49:45 +02:00
Régis Behmo
2b872c9b82
Fix KeyError on first quickstart
...
When a config.yml file does not exist, interactive configuration crashes
with a KeyError on ACTIVATE_HTTPS.
2019-04-27 10:41:34 +02:00
Régis Behmo
24cba3f106
Fix gunicorn config option
2019-04-25 22:26:56 +02:00
Régis Behmo
d5942d538f
Fix image building following small refactoring
2019-04-25 21:58:06 +02:00
Régis Behmo
dafd5d2fc8
Fix changelog version typos
2019-04-25 21:57:44 +02:00
Régis Behmo
e25982ed20
Improve docs wording and de-duplicate from readme
...
The sphinx `include` directive is great!
2019-04-25 09:36:18 +02:00
Régis Behmo
207229e16e
Run pylint on code base
2019-04-25 09:36:18 +02:00
Silvio Tomatis
ce1bb05d8e
Factor out common logic for cms/{production/development}.py
2019-04-24 16:34:25 +02:00
Silvio Tomatis
cb9d342196
Factor out common logic for lms/{production/development}.py
2019-04-24 16:34:25 +02:00
Régis Behmo
555845474d
v3.3.5 (2019-04-22)
...
- [Feature] Pluggable LMS/CMS/forum
- [Improvement] Safer environment overwrite. Thanks @silviot! 👐
- [Security] Fix Jinja2 vulnerability
- [Improvement] Improve CLI cold start performance
- [Improvement] Allow uppercase "Y" and "N" as answers to boolean
questions
2019-04-22 16:50:09 +02:00
Régis Behmo
1a94b05188
Better release descriptions
...
By using `github-releases`, we can now generate much better release
description blurbs.
2019-04-22 15:15:47 +02:00
Régis Behmo
847678bb07
Get rid of the "latest" release tag
...
The "latest" tag is a pain to maintain: it's a tag that we delete and
re-create at every release. Whenever we delete it, the binaries become
unavailable on Github until they are re-generated. Thus, from now on, we
conform to good practices (as examplified by the
github.com/docker/compose) project and distribute only pinned release.
The "nightly" tag remains, for now, as it allows us to distribute beta
features. It may disappear in the future.
2019-04-22 13:36:40 +02:00
Régis Behmo
56a48e8773
Enable forum only when necessary on k8s
2019-04-22 12:07:34 +02:00
Régis Behmo
d1f386c149
Pluggable lms/cms/forum
...
LMS, CMS and forum can now be independently (de)activated. This will be
useful to deploy Tutor on multiple servers.
2019-04-22 11:59:53 +02:00
Régis Behmo
5f625f7baa
Simplify docs requirement management
...
It is assumed that users who compile the documentation also need base
requirements.
2019-04-20 00:47:20 +02:00
Régis Behmo
5e36febce4
Upgrade urllib3 following vulnerability alert
...
https://nvd.nist.gov/vuln/detail/CVE-2019-11324
2019-04-20 00:45:48 +02:00
Régis Behmo
11a0c082ce
Document the stop/start restart procedure on new image
2019-04-20 00:43:29 +02:00
Régis Behmo
97c646f875
Crash on env overwrite in non-interactive mode
...
We took the opportunity to replace the custom ask_bool code by
click.confirm, which just simpler.
2019-04-20 00:02:47 +02:00
Silvio Tomatis
8cbab483ca
Improve output of environment upgrade
2019-04-19 23:08:26 +02:00
Silvio Tomatis
a2b098c1f0
Add __pycache__ to .gitignore
2019-04-19 23:08:26 +02:00
Silvio Tomatis
a6a68881cd
Make sure we don't hang in non-interactive environments
2019-04-19 23:08:26 +02:00
Silvio Tomatis
08f157698f
Make sure tutor asks for permission before a possibly destructive action
2019-04-19 23:08:26 +02:00
Silvio Tomatis
1046b48cc1
Set number of gunicorn workers to 3 for notes and forum
2019-04-17 10:35:37 +02:00
Silvio Tomatis
9a782c5c37
Use the actually recommended value, not a random copy-paste I found somewhere and shamefully didn't check
2019-04-17 10:35:37 +02:00
Silvio Tomatis
f812ed7dc3
Tell openedx gunicorn to fork workers based on CPU count
2019-04-17 10:35:37 +02:00
Régis Behmo
d2f6783306
Fix security issue with jinja2 requirement
...
https://nvd.nist.gov/vuln/detail/CVE-2019-10906
To fix this issue, all requirements were simply upgraded to the latest
version.
2019-04-17 08:18:45 +02:00
Régis Behmo
b2d8c1b6cc
Improve cold start time by moving kubernetes import
...
"import kubernetes" takes a long time. Moving this import improves
"tutor --version" from 0.8s to 0.3s.
2019-04-09 18:30:12 -07:00
Régis Behmo
1a706889b2
Minor docs improvement for k8s
2019-04-09 13:53:42 -07:00
Régis Behmo
becd03cbf8
Allow uppercase "Y" and "N" as answers to boolean questions
2019-04-09 13:38:56 -07:00
Régis Behmo
695cc0d18a
v3.3.4 (2019-04-09)
...
- [Improvement] Rename `--silent` option to `-y/--yes`
- [Bugfix] Fix (again) login from studio when https is activated (#193 )
2019-04-09 11:50:09 -07:00
Régis Behmo
3b9880ec74
Rename --silent
option to -y/--yes
2019-04-09 11:17:19 -07:00
Régis Behmo
6c13710c79
Fix (again) login from studio when https is activated
...
Login from studio with https was broken by the fix for localhost login.
Close #193 .
2019-04-09 11:11:32 -07:00
WeJie
7a8ecbabec
Add quotes for command $(tutor config printroot)
...
https://github.com/regisb/tutor/issues/192
2019-04-09 10:54:08 -07:00
Régis Behmo
016210e899
v3.3.3 (2019-03-29)
...
- [Bugfix] Fix `pip install tutor-openedx`
2019-03-29 06:36:19 -07:00
Régis Behmo
1e956b9398
Better source installation instructions
...
Installing from "python setup.py develop" was causing a strange error:
error: The 'requests' distribution was not found and is required
by kubernetes
2019-03-29 06:33:07 -07:00
Régis Behmo
a034f95f83
Fix pip install tutor-openedx
...
Installing from pip was broken because, for some reason, the
templates/apps/xqueue/settings/ folder contained a __pycache__ folder
with compiled *.pyc files. Rendering the binary files was failing
miserably.
2019-03-29 06:27:34 -07:00
Régis Behmo
e2b0f3bfde
Fix login from localhost
...
Login from localhost/studio.localhost was broken on Ironwood because the
session cookie was configured to be stored under the production domain
name. We fix this by setting the SESSION_COOKIE_DOMAIN to None: in the
edx-platform code, this corresponds to using the current request domain.
2019-03-27 08:16:44 -07:00
Régis Behmo
7c0f3f2d76
v3.3.2 (2019-03-27)
...
- [Bugfix] Fix Android app image build
2019-03-27 07:57:08 -07:00