blob: 015c494962e0c24f465c9c62198a3c4414d080c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
from pecan import expose
from pecan.rest import RestController
from restful import common, context
from collections import defaultdict
from restful.decorators import auth
class CrushRule(RestController):
@expose(template='json')
@auth
def get(self, **kwargs):
"""
Show crush rules
"""
crush = context.instance.get('osd_map_crush')
rules = crush['rules']
for rule in rules:
rule['osd_count'] = len(common.crush_rule_osds(crush['buckets'], rule))
return rules
class Crush(RestController):
rule = CrushRule()
|