* switch database to postgres
* modify kitsune/dashboards/readouts.py to work with postgres
* modify dashboards/models.py to work with postgres
* modify cache_most_unhelpful_kb_articles.py to work with postgres
* modify wiki/views.py to work with postgres
* modify kpi/api.py to work with postgres
* modify auto_archive_old_questions.py to work with postgres
* ignore email when falsy in FXAAuthBackend.update_user
* fix NotificationsTests.test_solution_notification
* account for postgres ordering of num_visits
* fix question num_votes_past_week when no votes
* fix order_by within the fix_current_revisions command
* improve performance of usernames API
* ensure null values are ordered as expected (1464)
* ensure postgres uses index for helpful votes query (1485)
* ensure announcement query uses timestamp indexes (1492)
* ensure HelpfulVote.created queries use DB index (1492)
* ensure forums.Post.created queries use DB index (1492)
* ensure Question.created queries use DB index (1492)
* ensure QuestionVote.created queries use DB index (1492)
* ensure Question.updated queries use DB index (1492)
* ensure Answer.created/Revision.created queries use DB index (1492)
* limit expensive KPI queries to the last 365 days
django-debug-toolbar 3.2.3 was causing strings to be truncated when saving to db
mariadb >=10.2.4 includes STRICT_TRANS_TABLES by default, which was causing errors
- store synonyms in files
- add reload synonyms option to es7_init
- use non-oss kibana and elasticsearch images to get the reload analyzer api
- add command to create an elastic cloud bundle out of synonym files
- protect specific stop-word containing phrases from tokenization with char mappings
- add docs
https://github.com/mozilla/sumo-project/issues/721https://github.com/mozilla/sumo-project/issues/748
If user has low bandwidth, they may get a timeout error while
downloading Python packages from PyPi repository. This happens because
default timeout of pip is set to 60 seconds, which is very less for
large batch process; and it can be changed using "PIP_DEFAULT_TIMEOUT"
environment variable or by passing --default-timeout as an argument to
pip command[1].
[1]: https://pip.pypa.io/en/stable/user_guide/#environment-variables
Docker's "ARG" instruction allows us to pass variable's value at build
time using the `--build-arg <varname>=<value>` flag to `docker
build`[2][3] and `docker-compose build`[4] command. Default value of
"PIP_DEFAULT_TIMEOUT" variable is still set to 60 seconds because bogus
value may increase production built time which we want to fail pretty
fast, if we're not able to fetch something from PyPi. We can set it to 5
mins by running `docker build --build-arg PIP_DEFAULT_TIMEOUT=300` and
`docker-compose build --build-arg PIP_DEFAULT_TIMEOUT=300` for `docker`
and `docker-compose` command respectively.
[2]: https://vsupalov.com/docker-build-time-env-values/
[3]: https://docs.docker.com/engine/reference/builder/#arg
[4]: https://docs.docker.com/compose/reference/build/
Now we can change default timeout value of pip, by pass PIP_TIMEOUT as
an argument[1]. For example, if we want to set timeout value to 5
minutes, run `make build PIP_TIMEOUT=300` or `make build-ci
PIP_TIMEOUT=300` command; default value of PIP_TIMEOUT is 60 which also
the default timeout value of pip, itself.
[5]: https://stackoverflow.com/a/2826178
We only need to use 'PIP_TIMEOUT' variable, where 'base' image is
building because only 'base' image is fetching a lots of Python packages
from PyPi.
And add instruction about, how user can change default timeout value of
pip in the documentation.
Resolves: #4511
* Ensure docker environment is setup for l10n linting (use make)
* Ensure docker build args are passed to docker (GIT_SHA, and LOCALE_ENV)
* Make git commands for locale repo cleaner with -C
Use make to create easy to use and remember commands for building
and running things.
* Remove Jenkins IRC notifications
* Update the README for the new commands