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