horizon/releasenotes/notes/session-engine-bc6305bfb74a9beb.yaml
Akihiro Motoki a98468bef6 Change the default SESSION_ENGINE to use cached sessions
This commit changes the default SESSION_ENGINE to the cached
sessions and the default cached backend to memcached.

The cached sessions with memcahced is our current recommendation, but
we do not use it in our default settings and do not test it in our CI
(horizon-dsvm-tempest-plugin). It is better to use the recommended
configurations in our CI.
The previous default SESSION_ENGINE, the signed cookies, has
a limitation on the length o cookies and using keystone3 can hit this
easily. It is not ready for production for most cases.

For a cache backend, considering multi-process web server deployments,
memcahced is recommended rather than a local memory backend.

Note for developers: If you use "tox -e runserver" for developments,
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' might not
work expectedly. From my testing, I was forced to log-in frequently
when moving pages. If you hit this, my suggestion is to configure
SESSION_ENGINE to django.contrib.sessions.backends.signed_cookies.

Change-Id: I1c4578ec5a7f70a59c6348d76ad0c12956a18573
Closes-Bug: #1736021
2019-01-15 08:07:54 +09:00

23 lines
899 B
YAML

---
upgrade:
- |
The default value of ``SESSION_ENGINE`` is changed to
``django.contrib.sessions.backends.cache``
so that a cache-based session backend is used.
The default cache back-end is set to the memcached backend
``django.core.cache.backends.memcached.MemcachedCache``
from the local-memory backend
considering multi-process web server deployments.
They are settings which horizon recommends for a long time
but we have not use them by default.
If your deployment uses the signed-cookies as a session engine,
ensure that ``SESSION_ENGINE`` is configured to
``django.contrib.sessions.backends.signed_cookies``
before upgrading horizon to Stein release.
If your deployment uses the cached session engine and
your cache backend depends on horizon default setting,
ensure to ``CACHES`` setting to use the local-memory backend.