Revision 006eef9e
b/snf-pithos-backend/pithos/workers/glue.py | ||
---|---|---|
41 | 41 |
pmap = {} |
42 | 42 |
worker_id = None |
43 | 43 |
ioctx_pool = None |
44 |
ArchipelagoConfFile = '/etc/archipelago/archipelago.conf'
|
|
44 |
ArchipelagoConfFile = None
|
|
45 | 45 |
|
46 | 46 |
@classmethod |
47 | 47 |
def setmap(cls, pid, index): |
... | ... | |
50 | 50 |
|
51 | 51 |
@classmethod |
52 | 52 |
def setupXsegPool(cls, ObjectPool, Segment, Xseg_ctx, |
53 |
cfile=ArchipelagoConfFile, pool_size=8):
|
|
53 |
cfile='/etc/archipelago/archipelago.conf', pool_size=8):
|
|
54 | 54 |
if WorkerGlue.ioctx_pool is not None: |
55 | 55 |
return |
56 |
worker_id = WorkerGlue.worker_id |
|
57 |
WorkerGlue.ArchipelagoConfFile = ARCHIPELAGO_CONF_FILE = cfile |
|
58 |
ARCHIPELAGO_SEGMENT_TYPE = 'segdev' |
|
59 |
ARCHIPELAGO_SEGMENT_NAME = 'xsegbd' |
|
60 |
cfg = {} |
|
61 | 56 |
bcfg = ConfigParser.ConfigParser() |
62 |
bcfg.readfp(open(ARCHIPELAGO_CONF_FILE)) |
|
63 |
cfg['SEGMENT_PORTS'] = bcfg.getint('XSEG', 'SEGMENT_PORTS') |
|
64 |
cfg['SEGMENT_DYNPORTS'] = bcfg.getint('XSEG', 'SEGMENT_DYNPORTS') |
|
65 |
cfg['SEGMENT_SIZE'] = bcfg.getint('XSEG', 'SEGMENT_SIZE') |
|
66 |
ARCHIPELAGO_SEGMENT_DYNPORTS = int(cfg['SEGMENT_DYNPORTS']) |
|
67 |
ARCHIPELAGO_SEGMENT_PORTS = int(cfg['SEGMENT_PORTS']) |
|
68 |
ARCHIPELAGO_SEGMENT_SIZE = int(cfg['SEGMENT_SIZE']) |
|
69 |
ARCHIPELAGO_SEGMENT_ALIGNMENT = 12 |
|
57 |
bcfg.readfp(open(cfile)) |
|
58 |
worker_id = WorkerGlue.worker_id |
|
59 |
WorkerGlue.ArchipelagoConfFile = cfile |
|
60 |
archipelago_segment_type = 'segdev' |
|
61 |
archipelago_segment_name = 'xsegbd' |
|
62 |
archipelago_dynports = bcfg.getint('XSEG', 'SEGMENT_DYNPORTS') |
|
63 |
archipelago_ports = bcfg.getint('XSEG', 'SEGMENT_PORTS') |
|
64 |
archipelago_segment_size = bcfg.getint('XSEG', 'SEGMENT_SIZE') |
|
65 |
archipelago_segment_alignment = 12 |
|
70 | 66 |
|
71 | 67 |
class XsegPool(ObjectPool): |
72 | 68 |
|
73 | 69 |
def __init__(self): |
74 | 70 |
super(XsegPool, self).__init__(size=pool_size) |
75 |
self.segment = Segment(ARCHIPELAGO_SEGMENT_TYPE,
|
|
76 |
ARCHIPELAGO_SEGMENT_NAME,
|
|
77 |
ARCHIPELAGO_SEGMENT_DYNPORTS,
|
|
78 |
ARCHIPELAGO_SEGMENT_PORTS,
|
|
79 |
ARCHIPELAGO_SEGMENT_SIZE,
|
|
80 |
ARCHIPELAGO_SEGMENT_ALIGNMENT)
|
|
71 |
self.segment = Segment(archipelago_segment_type,
|
|
72 |
archipelago_segment_name,
|
|
73 |
archipelago_dynports,
|
|
74 |
archipelago_ports,
|
|
75 |
archipelago_segment_size,
|
|
76 |
archipelago_segment_alignment)
|
|
81 | 77 |
self.worker_id = worker_id |
82 | 78 |
self.cnt = 1 |
83 | 79 |
|
Also available in: Unified diff