Add CRUSH management to calamari API » History » Version 1
Jessica Mack, 06/22/2015 06:21 AM
1 | 1 | Jessica Mack | h1. Add CRUSH management to calamari API |
---|---|---|---|
2 | |||
3 | h3. Summary |
||
4 | |||
5 | Add CRUSH management to calamari API |
||
6 | |||
7 | h3. Owners |
||
8 | |||
9 | * Gregory Meno (redhat) |
||
10 | * John Spray (redhat) |
||
11 | * Name |
||
12 | |||
13 | h3. Interested Parties |
||
14 | |||
15 | * Name (Affiliation) |
||
16 | * Name (Affiliation) |
||
17 | * Name |
||
18 | |||
19 | h3. Current Status |
||
20 | |||
21 | Already implemented in ceph |
||
22 | |||
23 | h3. Detailed Description |
||
24 | |||
25 | Blueprint recommendations |
||
26 | |||
27 | p(. * Nodes and rules get CRUD - query filtering (depth, children_of) |
||
28 | |||
29 | Communications: |
||
30 | Rules: |
||
31 | /api/v2/cluster/<FSID>/crush_rule_set |
||
32 | GET -> CrushRuleSetViewSet.list(request, fsid) |
||
33 | POST -> CrushRuleSetViewSet.update(request, fsid) |
||
34 | /api/v2/cluster/<FSID>/crush_rule/<rule_id> |
||
35 | GET -> CrushRuleViewSet.retreive(request, fsid, rule_id) |
||
36 | POST -> CrushRuleViewSet.create(request, fsid, rule_id) |
||
37 | PATCH -> CrushRuleViewSet.update(request, fsid, rule_id) |
||
38 | DELETE -> CrushRuleViewSet.destroy(request, fsid, rule_id) |
||
39 | |||
40 | Nodes: |
||
41 | /api/vs/cluster/<FSID>/crush_node |
||
42 | GET -> CrushNodeViewSet.list(request, fsid) |
||
43 | POST -> CrushNodeViewSet.create(request, fsid) |
||
44 | /api/vs/cluster/<FSID>/crush_node/<node_id>?depth&children_of |
||
45 | GET -> CrushNodeViewSet.retreive(request, fsid, depth=None, children_of=False) |
||
46 | PATCH -> CrushNodeViewSet.update(request, fsid) |
||
47 | DELETE -> CrushNodeViewSet.destroy(request, fsid) |
||
48 | /api/vs/cluster/<FSID>/crush_map |
||
49 | GET -> CrushMapViewSet.retreive(request, fsid) |
||
50 | POST -> CrushMapViewSet.replace(request, fsid) #is POST the right verb for this? |
||
51 | |||
52 | p(. * resolve an (OSD, host) to crush node, decorate the OSD, host details with that |
||
53 | |||
54 | /api/v2/cluster/<FSID>/osd |
||
55 | GET -> OsdViewSet.list(request, fsid) |
||
56 | /api/v2/cluster/<FSID>/osd/<osd_id> |
||
57 | GET -> OsdViewSet.retrieve(request, fsid, osd_id) |
||
58 | /api/v2/cluster/<FSID>/server |
||
59 | GET -> ServerClusterViewSet.list(request, fsid) |
||
60 | /api/v2/cluster/<FSID>/server/<FQDN> |
||
61 | GET -> ServerClusterViewSet.retreive(request, fsid, fqdn) |
||
62 | |||
63 | p(. * override 'crush location' in the ceph config so that modifications to OSD position in the CRUSH map stick |
||
64 | |||
65 | h3. Work items |
||
66 | |||
67 | h4. Coding tasks |
||
68 | |||
69 | # Task 1 |
||
70 | # Task 2 |
||
71 | # Task 3 |
||
72 | |||
73 | h4. Build / release tasks |
||
74 | |||
75 | # Task 1 |
||
76 | # Task 2 |
||
77 | # Task 3 |
||
78 | |||
79 | h4. Documentation tasks |
||
80 | |||
81 | # Task 1 |
||
82 | # Task 2 |
||
83 | # Task 3 |
||
84 | |||
85 | h4. Deprecation tasks |
||
86 | |||
87 | # Task 1 |
||
88 | # Task 2 |
||
89 | # Task 3 |