]> git.proxmox.com Git - ceph.git/blame - ceph/src/pybind/mgr/restful/api/crush.py
import quincy beta 17.1.0
[ceph.git] / ceph / src / pybind / mgr / restful / api / crush.py
CommitLineData
31f18b77
FG
1from pecan import expose
2from pecan.rest import RestController
3
11fdf7f2 4from restful import common, context
31f18b77
FG
5
6from restful.decorators import auth
7
8
9class CrushRule(RestController):
10 @expose(template='json')
11 @auth
12 def get(self, **kwargs):
13 """
14 Show crush rules
15 """
11fdf7f2 16 crush = context.instance.get('osd_map_crush')
a8e16298 17 rules = crush['rules']
31f18b77
FG
18
19 for rule in rules:
a8e16298 20 rule['osd_count'] = len(common.crush_rule_osds(crush['buckets'], rule))
31f18b77
FG
21
22 return rules
23
24class Crush(RestController):
25 rule = CrushRule()