if rc is not 0:
raise RuntimeError("\'ceph osd dump\' failed - " + e)
- result = re.findall("pool\ (\d+)\ '(\S+)'\ rep\ size\ (\d+)", o)
+ result = re.findall("pool\ (\d+)\ '(\S+)'\ (\S+)\ size\ (\d+)", o)
if len(result) is 0:
- #Check with replicated size
- result = re.findall("pool\ (\d+)\ '(\S+)'\ replicated\ size\ (\d+)", o)
- if len(result) is 0:
- raise RuntimeError("Unmatched pattern for \'pool\' in \'ceph osd dump\'")
+ raise RuntimeError("Unmatched pattern for \'pool\' in \'ceph osd dump\'")
pool_meta = []
- proc = lambda x: {'id':x[0], 'name':x[1], 'rep_size':int(x[2])}
+ proc = lambda x: {'id':x[0], 'type':x[2], 'size':int(x[3])}
for r in result:
pool_meta.append(proc(r))
@jsonify.register(db.pools_info)
def jsonify_pools_info(pool):
- return dict(rep_size=pool.pool_rep_size,
- name=pool.pool_name,
+ return dict(size=pool.pool_rep_size,
+ type=pool.pool_type,
id=pool.pool_id
)
index = Column(Integer, primary_key=True)
vid = Column(ForeignKey('version_info.index'))
pool_id = Column(String(8))
- pool_name = Column(String(16))
+ pool_type = Column(String(16))
pool_rep_size = Column(Integer)
class osds_info(Base):
for p in pools:
Session.add(pools_info(vid=vi.index,
pool_id=p['id'],
- pool_name=p['name'],
- pool_rep_size=p['rep_size']))
+ pool_type=p['type'],
+ pool_rep_size=p['size']))
def add_osds_info(vi):
osds = info['sysinfo']