]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
common/options: extract osd and mgr settings out
authorKefu Chai <kchai@redhat.com>
Fri, 23 Apr 2021 09:32:00 +0000 (17:32 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 14 May 2021 11:18:47 +0000 (19:18 +0800)
commit3478fdca3693582ee6e54a9ee3fe6b720322183c
tree2a952dfa525a9d5b40ceb4cca4857090b7abdb91
parentb6dbc21cf80dfa595e8cf2e296173bd83fc5f4bb
common/options: extract osd and mgr settings out

the purposes of this change are:

* faster compilation, so the cmake generator can process .yaml.in files
  in parallel.
* allow daemons to include a subset of options which it is interested
  in.
* better maintainability. by grouping options in different .yaml.in
  files, developers understand who are the consumers of an option.

in this change, options only read by mgr are extracted into mgr.yaml.in,
and options only read by osd are extracted into osd.yaml.in.

so all options in mgr.yaml.in should have "services: mgr" in their
definition by default. the ones in osd.yaml.in have "services: osd".

in the case where options are consumed by multiple services or tools,
the option should add "common" to its "services" if it is supposed to be
consumed by a tool, or "mon" if it is read by monitor as well.

but it takes time to audit all the options, so only part of them are
processed.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/common/options/CMakeLists.txt
src/common/options/build_options.cc
src/common/options/global.yaml.in
src/common/options/legacy_config_opts.h
src/common/options/mgr.yaml.in [new file with mode: 0644]
src/common/options/osd.yaml.in [new file with mode: 0644]