Implement sentinel based DB capacity scaling 60/6060/2
authorTimo Tietavainen <timo.tietavainen@nokia.com>
Tue, 11 May 2021 11:43:09 +0000 (14:43 +0300)
committerTimo Tietavainen <timo.tietavainen@nokia.com>
Tue, 11 May 2021 11:59:48 +0000 (14:59 +0300)
commitc6c9af2f19370e67f1ae8568c23cadecbec29ccc
tree87cfb75a464b54fe511a2c98548ef0e893db307c
parentd5886f34edc38445066f4fcc831003305233081b
Implement sentinel based DB capacity scaling

For time being SDL has supported standalone DBAAS DB and DBAAS HA DB deployment
with Redis sentinel. With this commit extent SDL functionality to support Redis
sentinel based DB cluster where we have multiple DBAAS Redis sentinel groups
and these groups can be used to spread out SDL DB write and read operations to
different DB instances.
Implement cluster DBAAS DB service addresses reading from environment variable
'DBAAS_CLUSTER_ADDR_LIST'.
Implement crc32 hash value calculation from namespace string and selection of
a DB instance from DB cluster based on calculated hash.

Issue-ID: RIC-699

Signed-off-by: Timo Tietavainen <timo.tietavainen@nokia.com>
Change-Id: Ib325ca68e212bde80c1536b2392293ee76f8fe9e
docs/release-notes.rst
ricsdl-package/examples/notify.py
ricsdl-package/examples/sync.py
ricsdl-package/ricsdl/__init__.py
ricsdl-package/ricsdl/backend/redis.py
ricsdl-package/ricsdl/configuration.py
ricsdl-package/tests/backend/test_fake_dict_db.py
ricsdl-package/tests/backend/test_redis.py
ricsdl-package/tests/test_configuration.py