]>
Commit | Line | Data |
---|---|---|
31f18b77 FG |
1 | from pecan import expose |
2 | from pecan.rest import RestController | |
3 | ||
11fdf7f2 | 4 | from restful import common, context |
31f18b77 FG |
5 | |
6 | from restful.decorators import auth | |
7 | ||
8 | ||
9 | class 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 | ||
24 | class Crush(RestController): | |
25 | rule = CrushRule() |