Project

General

Profile

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