Project

General

Profile

Annotate config options

Summary

Annotate config options in the code; auto-generate docs based on annotations

Owners

  • Danny Al-Gaaf (Deutsche Telekom AG)
  • Name (Affiliation)
  • Name

Interested Parties

  • Sage Weil (Inktank)
  • Name (Affiliation)
  • Name

Current Status

Config options are enumerated in common/config_opts.h

name
type
default value

Options are documented (sometimes) via source code comments
Options are documented (sometimes) as rst.
Docs and options are not in sync.
Config options (values) can be dumped via the admin socket

Detailed Description

Make the config options be defined and documented all in one place.

Expand the current config option macro to include

description
daemon types (common, mon, osd, client, librados, etc.); command separated list
class (general, performance, debug, ...?)

Make the admin socket dump those descriptions in json (or simiar)
Autogenerate the .rst docs from that.

Work items

Coding tasks

  1. define daemon type keywords
  2. define config option categories
  3. config: expand the config macro
  4. asok: make a config dump command that includes the descriptions
  5. doc: make a simple tool that dumps the config options in rst
    1. this should take a daemon type or list of types so that we can document 'radosgw options' that include rgw and common

Documentation tasks

  1. replace existing docs with generated ones
  2. ensure that the script to do this is in an easy to find location (ceph.git/admin?)

Pad

http://pad.ceph.com/p/cdsgiant-annot...g-perfcounters