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