Project

General

Profile

1B - Ceph Management API » History » Version 2

Jessica Mack, 06/22/2015 04:22 AM

1 1 Jessica Mack
h1. 1B - Ceph Management API
2 1 Jessica Mack
3 1 Jessica Mack
h3. Live Pad
4 1 Jessica Mack
5 1 Jessica Mack
The live pad can be found here: "[pad]":http://pad.ceph.com/p/Ceph_management_API
6 2 Jessica Mack
7 2 Jessica Mack
h3. Summit Snapshot
8 2 Jessica Mack
9 1 Jessica Mack
wCoding tasks (some done, see http://github.com/ceph/ceph branch wip-ceph-cli for an out-of-date working branch)
10 1 Jessica Mack
If you have ideas/comments/suggestions, contact us at irc.oftc.net #ceph, or ceph-devel@vger.kernel.org!
11 1 Jessica Mack
12 1 Jessica Mack
13 1 Jessica Mack
# Create command/param/help registry in monclient, export in JSON on request
14 1 Jessica Mack
** expression language for parameter descriptions: type, name, valid ranges/values, etc.
15 1 Jessica Mack
** make it simple to add new commands and easy to find the full list of commands supported
16 1 Jessica Mack
# Frontend CLI that requests command registry and validates user input, submits JSON command request
17 1 Jessica Mack
** do as much validation upfront as possible, as generically as possible
18 1 Jessica Mack
** write validation code such that it can be reused in REST endpoint
19 1 Jessica Mack
** format help, provide substring help
20 1 Jessica Mack
** allow for command-line completion (allow partial matching of input)
21 1 Jessica Mack
** format actual command request in unambiguous complete JSON form
22 1 Jessica Mack
# Remove existing command validation/parsing from monclient
23 1 Jessica Mack
** rely on front end to pass only valid commands as much as possible (some validation must talk to the cluster)
24 1 Jessica Mack
** refactor common tasks, like selection of output format
25 1 Jessica Mack
# Allow all formatted commands to output JSON or XML (planning ahead for REST)
26 1 Jessica Mack
# Validate all existing functionality remains unchanged with much-enhanced unit tests and existing tests
27 1 Jessica Mack
# migration path for existing 'allow command ...' cap strings
28 1 Jessica Mack
# discover/describe --admin-daemon and tell commands (currently just passthru)
29 1 Jessica Mack
# merge to master... 0.63ish?
30 1 Jessica Mack
# Add command-line completion to frontend and BASH snippets
31 1 Jessica Mack
# Create webserver for REST endpoint (after the interface is designed) using chunks of the CLI code as needed
32 1 Jessica Mack
# Allow REST endpoint to respond in JSON or XML at user's request
33 1 Jessica Mack
# Add some appropriate sort of monitoring to the REST endpoint
34 1 Jessica Mack
# ability to access daemon admin socket command set via REST mgmt endpoint
35 1 Jessica Mack
# ability to do 'tell <name> ...'
36 1 Jessica Mack
# ability to access cluster event log via cli, REST mgmt endpoint
37 1 Jessica Mack
# ceph-deploy support for deploying a management endpoint daemon
38 1 Jessica Mack
# (Possible): allow client to register interest in cluster events (cluster/OSD full, daemon status change, quorum change, administrative events/change) using an unknown mechanism (perhaps a URL that can be accessed on such events, perhaps with a parameter structure to carry information about the
39 1 Jessica Mack
40 1 Jessica Mack
Build / release tasks
41 1 Jessica Mack
42 1 Jessica Mack
43 1 Jessica Mack
# document upgrade path: upgrade cli tool first (it can talk to either old or new mons), mons second.
44 1 Jessica Mack
# merge first batch of cli stuff
45 1 Jessica Mack
# merge rest mgmt endpoint as it finishes
46 1 Jessica Mack
47 1 Jessica Mack
Documentation tasks
48 1 Jessica Mack
49 1 Jessica Mack
50 1 Jessica Mack
# Fix up manpage/webdoc for CLI; decide to document each or just defer to CLI help
51 1 Jessica Mack
# A large pile of documentation for REST API
52 1 Jessica Mack
53 1 Jessica Mack
Deprecation tasks
54 1 Jessica Mack
55 1 Jessica Mack
n/a