Revision 23eceabf

b/snf-pithos-backend/pithos/backends/lib/hashfiler/__init__.py
35 35

  
36 36
__all__ = ["Store"]
37 37

  
38

  
39
from pithos.workers import glue
40
from archipelago.common import Segment, Xseg_ctx
41
from objpool import ObjectPool
42
from synnefo.settings import BACKEND_ARCHIPELAGO_CONF as cfile
43

  
44

  
45
glue.WorkerGlue.setupXsegPool(ObjectPool, Segment, Xseg_ctx, cfile,
46
                              pool_size=8)
47

  
b/snf-pithos-backend/pithos/backends/modular.py
40 40
from functools import wraps, partial
41 41
from traceback import format_exc
42 42

  
43
from pithos.workers import glue
44
from archipelago.common import Segment, Xseg_ctx
45
from objpool import ObjectPool
46

  
47

  
43 48
try:
44 49
    from astakosclient import AstakosClient
45 50
except ImportError:
......
109 114
                               'abcdefghijklmnopqrstuvwxyz'
110 115
                               'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
111 116
DEFAULT_PUBLIC_URL_SECURITY = 16
117
DEFAULT_ARCHIPELAGO_CONF_FILE = '/etc/archipelago/archipelago.conf'
112 118

  
113 119
QUEUE_MESSAGE_KEY_PREFIX = 'pithos.%s'
114 120
QUEUE_CLIENT_ID = 'pithos'
......
193 199
                 public_url_alphabet=None,
194 200
                 account_quota_policy=None,
195 201
                 container_quota_policy=None,
196
                 container_versioning_policy=None):
202
                 container_versioning_policy=None,
203
                 archipelago_conf_file=None,
204
                 xseg_pool_size=8):
197 205
        db_module = db_module or DEFAULT_DB_MODULE
198 206
        db_connection = db_connection or DEFAULT_DB_CONNECTION
199 207
        block_module = block_module or DEFAULT_BLOCK_MODULE
......
208 216
            or DEFAULT_CONTAINER_QUOTA
209 217
        container_versioning_policy = container_versioning_policy \
210 218
            or DEFAULT_CONTAINER_VERSIONING
219
        archipelago_conf_file = archipelago_conf_file \
220
            or DEFAULT_ARCHIPELAGO_CONF_FILE
211 221

  
212 222
        self.default_account_policy = {'quota': account_quota_policy}
213 223
        self.default_container_policy = {
......
246 256

  
247 257
        self.ALLOWED = ['read', 'write']
248 258

  
259
        glue.WorkerGlue.setupXsegPool(ObjectPool, Segment, Xseg_ctx,
260
                                      cfile=archipelago_conf_file,
261
                                      pool_size=xseg_pool_size)
249 262
        self.block_module = load_module(block_module)
250 263
        self.block_params = block_params
251 264
        params = {'path': block_path,

Also available in: Unified diff