Revision 74cbb94a snf-pithos-app/pithos/api/util.py
b/snf-pithos-app/pithos/api/util.py | ||
---|---|---|
58 | 58 |
ASTAKOS_BASE_URL, |
59 | 59 |
BACKEND_ACCOUNT_QUOTA, BACKEND_CONTAINER_QUOTA, |
60 | 60 |
BACKEND_VERSIONING, |
61 |
BACKEND_FREE_VERSIONING, BACKEND_POOL_SIZE, |
|
61 |
BACKEND_FREE_VERSIONING, |
|
62 |
BACKEND_POOL_ENABLED, BACKEND_POOL_SIZE, |
|
62 | 63 |
BACKEND_BLOCK_SIZE, BACKEND_HASH_ALGORITHM, |
63 | 64 |
RADOS_STORAGE, RADOS_POOL_BLOCKS, |
64 | 65 |
RADOS_POOL_MAPS, TRANSLATE_UUIDS, |
65 | 66 |
PUBLIC_URL_SECURITY, PUBLIC_URL_ALPHABET, |
66 | 67 |
COOKIE_NAME, BASE_HOST, UPDATE_MD5) |
67 | 68 |
from pithos.api.resources import resources |
69 |
from pithos.backends import connect_backend |
|
68 | 70 |
from pithos.backends.base import (NotAllowedError, QuotaError, ItemNotExists, |
69 | 71 |
VersionNotExists) |
70 | 72 |
|
... | ... | |
991 | 993 |
BLOCK_PARAMS = {'mappool': None, |
992 | 994 |
'blockpool': None, } |
993 | 995 |
|
994 |
|
|
995 |
_pithos_backend_pool = PithosBackendPool( |
|
996 |
size=BACKEND_POOL_SIZE, |
|
997 |
db_module=BACKEND_DB_MODULE, |
|
998 |
db_connection=BACKEND_DB_CONNECTION, |
|
999 |
block_module=BACKEND_BLOCK_MODULE, |
|
1000 |
block_path=BACKEND_BLOCK_PATH, |
|
1001 |
block_umask=BACKEND_BLOCK_UMASK, |
|
1002 |
block_size=BACKEND_BLOCK_SIZE, |
|
1003 |
hash_algorithm=BACKEND_HASH_ALGORITHM, |
|
1004 |
queue_module=BACKEND_QUEUE_MODULE, |
|
1005 |
queue_hosts=BACKEND_QUEUE_HOSTS, |
|
1006 |
queue_exchange=BACKEND_QUEUE_EXCHANGE, |
|
1007 |
astakos_url=ASTAKOS_BASE_URL, |
|
1008 |
service_token=SERVICE_TOKEN, |
|
1009 |
astakosclient_poolsize=ASTAKOSCLIENT_POOLSIZE, |
|
1010 |
free_versioning=BACKEND_FREE_VERSIONING, |
|
1011 |
block_params=BLOCK_PARAMS, |
|
1012 |
public_url_security=PUBLIC_URL_SECURITY, |
|
1013 |
public_url_alphabet=PUBLIC_URL_ALPHABET, |
|
1014 |
account_quota_policy=BACKEND_ACCOUNT_QUOTA, |
|
1015 |
container_quota_policy=BACKEND_CONTAINER_QUOTA, |
|
1016 |
container_versioning_policy=BACKEND_VERSIONING) |
|
996 |
BACKEND_KWARGS = dict( |
|
997 |
db_module=BACKEND_DB_MODULE, |
|
998 |
db_connection=BACKEND_DB_CONNECTION, |
|
999 |
block_module=BACKEND_BLOCK_MODULE, |
|
1000 |
block_path=BACKEND_BLOCK_PATH, |
|
1001 |
block_umask=BACKEND_BLOCK_UMASK, |
|
1002 |
block_size=BACKEND_BLOCK_SIZE, |
|
1003 |
hash_algorithm=BACKEND_HASH_ALGORITHM, |
|
1004 |
queue_module=BACKEND_QUEUE_MODULE, |
|
1005 |
queue_hosts=BACKEND_QUEUE_HOSTS, |
|
1006 |
queue_exchange=BACKEND_QUEUE_EXCHANGE, |
|
1007 |
astakos_url=ASTAKOS_BASE_URL, |
|
1008 |
service_token=SERVICE_TOKEN, |
|
1009 |
astakosclient_poolsize=ASTAKOSCLIENT_POOLSIZE, |
|
1010 |
free_versioning=BACKEND_FREE_VERSIONING, |
|
1011 |
block_params=BLOCK_PARAMS, |
|
1012 |
public_url_security=PUBLIC_URL_SECURITY, |
|
1013 |
public_url_alphabet=PUBLIC_URL_ALPHABET, |
|
1014 |
account_quota_policy=BACKEND_ACCOUNT_QUOTA, |
|
1015 |
container_quota_policy=BACKEND_CONTAINER_QUOTA, |
|
1016 |
container_versioning_policy=BACKEND_VERSIONING) |
|
1017 |
|
|
1018 |
_pithos_backend_pool = PithosBackendPool(size=BACKEND_POOL_SIZE, |
|
1019 |
**BACKEND_KWARGS) |
|
1017 | 1020 |
|
1018 | 1021 |
|
1019 | 1022 |
def get_backend(): |
1020 |
backend = _pithos_backend_pool.pool_get() |
|
1023 |
if BACKEND_POOL_ENABLED: |
|
1024 |
backend = _pithos_backend_pool.pool_get() |
|
1025 |
else: |
|
1026 |
backend = connect_backend(**BACKEND_KWARGS) |
|
1027 |
backend.serials = [] |
|
1021 | 1028 |
backend.messages = [] |
1022 | 1029 |
return backend |
1023 | 1030 |
|
Also available in: Unified diff