Revision f3b65e8f
b/snf-pithos-app/README | ||
---|---|---|
36 | 36 |
PITHOS_BACKEND_DB_CONNECTION sqlite:////tmp/pithos-backend.db SQLAlchemy database connection string |
37 | 37 |
PITHOS_BACKEND_BLOCK_MODULE pithos.backends.lib.hashfiler |
38 | 38 |
PITHOS_BACKEND_BLOCK_PATH /tmp/pithos-data/ Map and block storage path |
39 |
PITHOS_BACKEND_BLOCK_UMASK 0o022 Map and block storage umask |
|
39 | 40 |
PITHOS_BACKEND_QUEUE_MODULE None Use ``pithos.backends.lib.rabbitmq`` to enable |
40 | 41 |
PITHOS_BACKEND_QUEUE_CONNECTION None Format like ``rabbitmq://guest:guest@localhost:5672/pithos`` |
41 | 42 |
PITHOS_BACKEND_QUOTA 50 GB (50 * 1024 ** 3) Default user quota |
b/snf-pithos-backend/pithos/backends/lib/hashfiler/store.py | ||
---|---|---|
38 | 38 |
|
39 | 39 |
class Store(object): |
40 | 40 |
"""Store. |
41 |
Required constructor parameters: path, block_size, hash_algorithm. |
|
41 |
Required constructor parameters: path, block_size, hash_algorithm, umask.
|
|
42 | 42 |
""" |
43 | 43 |
|
44 | 44 |
def __init__(self, **params): |
45 |
umask = params['umask'] |
|
46 |
if umask is not None: |
|
47 |
os.umask(umask) |
|
48 |
|
|
45 | 49 |
path = params['path'] |
46 | 50 |
if path and not os.path.exists(path): |
47 | 51 |
os.makedirs(path) |
b/snf-pithos-backend/pithos/backends/modular.py | ||
---|---|---|
74 | 74 |
DEFAULT_DB_CONNECTION = 'sqlite:///backend.db' |
75 | 75 |
DEFAULT_BLOCK_MODULE = 'pithos.backends.lib.hashfiler' |
76 | 76 |
DEFAULT_BLOCK_PATH = 'data/' |
77 |
DEFAULT_BLOCK_UMASK = 0o022 |
|
77 | 78 |
#DEFAULT_QUEUE_MODULE = 'pithos.backends.lib.rabbitmq' |
78 | 79 |
#DEFAULT_QUEUE_CONNECTION = 'rabbitmq://guest:guest@localhost:5672/pithos' |
79 | 80 |
|
... | ... | |
121 | 122 |
""" |
122 | 123 |
|
123 | 124 |
def __init__(self, db_module=None, db_connection=None, |
124 |
block_module=None, block_path=None, |
|
125 |
block_module=None, block_path=None, block_umask=None,
|
|
125 | 126 |
queue_module=None, queue_connection=None): |
126 | 127 |
db_module = db_module or DEFAULT_DB_MODULE |
127 | 128 |
db_connection = db_connection or DEFAULT_DB_CONNECTION |
128 | 129 |
block_module = block_module or DEFAULT_BLOCK_MODULE |
129 | 130 |
block_path = block_path or DEFAULT_BLOCK_PATH |
131 |
block_umask = block_umask or DEFAULT_BLOCK_UMASK |
|
130 | 132 |
#queue_module = queue_module or DEFAULT_QUEUE_MODULE |
131 | 133 |
#queue_connection = queue_connection or DEFAULT_QUEUE_CONNECTION |
132 | 134 |
|
... | ... | |
152 | 154 |
self.block_module = load_module(block_module) |
153 | 155 |
params = {'path': block_path, |
154 | 156 |
'block_size': self.block_size, |
155 |
'hash_algorithm': self.hash_algorithm} |
|
157 |
'hash_algorithm': self.hash_algorithm, |
|
158 |
'umask': block_umask} |
|
156 | 159 |
self.store = self.block_module.Store(**params) |
157 | 160 |
|
158 | 161 |
if queue_module and queue_connection: |
Also available in: Unified diff