Interesting. We could make the
1500m part be a tutor configuration value, like
ELASTICSEARCH_HEAP_SIZE. You could then set it with
tutor config save --set ELASTICSEARCH_HEAP_SIZE=1500m. Would that solve your problem?
Indeed. Actually, your comment makes me realise that none of the environment variables of the elasticsearch container are taken into account:
$ tutor local run lms curl elasticsearch:9200 | grep cluster_name
"cluster_name" : "elasticsearch",
$ tutor local run lms curl elasticsearch:9200/_nodes/process?pretty | grep mlock
"mlockall" : false
The cluster name should be “openedx” and “mlockall” should be true.
After investigating, I discovered this is because we run an older version of elasticsearch (1.5.2). Docker environment variables are not properly taken into account. This is a tutor issue which will be fixed in the next release. This will also address the “mlockall” issue.
EDIT: here is the proposed fix: https://github.com/overhangio/tutor/commit/83459d43d561820420d9bd7d995e5a6686e1325c