Ceph Management API » History » Version 1
Jessica Mack, 06/08/2015 10:06 PM
1 | 1 | Jessica Mack | h1. Ceph Management API |
---|---|---|---|
2 | 1 | Jessica Mack | |
3 | 1 | Jessica Mack | h3. Summary |
4 | 1 | Jessica Mack | |
5 | 1 | Jessica Mack | Provide a REST API endpoint for carrying out Ceph monitoring and management tasks. |
6 | 1 | Jessica Mack | |
7 | 1 | Jessica Mack | h3. Owners |
8 | 1 | Jessica Mack | |
9 | 1 | Jessica Mack | * Dan Mick (Inktank) |
10 | 1 | Jessica Mack | |
11 | 1 | Jessica Mack | h3. Interested Parties |
12 | 1 | Jessica Mack | |
13 | 1 | Jessica Mack | * Sage Weil (Inktank) |
14 | 1 | Jessica Mack | * Danny Al-Gaaf |
15 | 1 | Jessica Mack | * Josh Durgin |
16 | 1 | Jessica Mack | * Joao Luis |
17 | 1 | Jessica Mack | * Xiaoxi Chen (Intel) |
18 | 1 | Jessica Mack | * Loic Dachary |
19 | 1 | Jessica Mack | * Wido den Hollander (42on) |
20 | 1 | Jessica Mack | * Hunter Nield (Acaleph) |
21 | 1 | Jessica Mack | * Xiaobing Zhou(xzhou40 (AT) hawk.iit.edu) |
22 | 1 | Jessica Mack | |
23 | 1 | Jessica Mack | h3. Current Status |
24 | 1 | Jessica Mack | |
25 | 1 | Jessica Mack | Currently the cluster is managed by manual modification of configuration and CRUSH map files, application of command operations with the ceph CLI tool (and occasionally the rados and cephfs tools), and manual examination of log files. Each of the CLI tools interacts with the cluster as a "monclient", or client of the monitor cluster, by sending network messages to and from the monitors. |
26 | 1 | Jessica Mack | |
27 | 1 | Jessica Mack | h3. Detailed Description |
28 | 1 | Jessica Mack | |
29 | 1 | Jessica Mack | Work on this project has begun. Two phases were identified: |
30 | 1 | Jessica Mack | |
31 | 1 | Jessica Mack | # Recode the CLI to split out the command parsing/validation into a front-end. The first front-end will |
32 | 1 | Jessica Mack | ** query the underlying ceph command to discover a list of valid commands and parameters |
33 | 1 | Jessica Mack | ** validate user input against this command list, and return errors/help when invalid without contacting the monitors |
34 | 1 | Jessica Mack | ** pass the request to the monitors in regular validated form, factoring out common options |
35 | 1 | Jessica Mack | ** provide detailed help about each command, again discovered from the ceph tool |
36 | 1 | Jessica Mack | ** provide BASH completion for the command/parameters |
37 | 1 | Jessica Mack | ** simplify/harden monitor code by putting common parsing/marshalling in a generic front end |
38 | 1 | Jessica Mack | # Write a new webserver to provide similar functionality for the RESTful endpoint |
39 | 1 | Jessica Mack | ** leverage the mechanisms created for phase 1 |
40 | 1 | Jessica Mack | ** run independently from the monitors/OSDs |
41 | 1 | Jessica Mack | ** allow for multiple daemons for load balancing/redundancy |
42 | 1 | Jessica Mack | ** authenticate/validate requests |
43 | 1 | Jessica Mack | ** allow user discovery of APIs by querying the endpoint without a request |
44 | 1 | Jessica Mack | ** provide at least the set of commands supported by the CLI, but probably... |
45 | 1 | Jessica Mack | ** ...provide expanded summary/monitoring commands |
46 | 1 | Jessica Mack | |
47 | 1 | Jessica Mack | h3. Work items |