]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
common/options: more mon options
authorSage Weil <sage@redhat.com>
Mon, 10 Dec 2018 04:13:05 +0000 (22:13 -0600)
committerSage Weil <sage@redhat.com>
Thu, 13 Dec 2018 13:07:47 +0000 (07:07 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/common/options.cc

index e87536837e94feef0dd6d37da060c30180a1ae98..9a4dc04774174bfc16aee1ee609a03ee610bb36e 100644 (file)
@@ -1224,7 +1224,7 @@ std::vector<Option> get_global_options() {
     Option("mon_data", Option::TYPE_STR, Option::LEVEL_ADVANCED)
     .set_flag(Option::FLAG_NO_MON_UPDATE)
     .set_default("/var/lib/ceph/mon/$cluster-$id")
-    .set_description(""),
+    .set_description("path to mon database"),
 
     Option("mon_initial_members", Option::TYPE_STR, Option::LEVEL_ADVANCED)
     .set_default("")
@@ -1317,7 +1317,7 @@ std::vector<Option> get_global_options() {
 
     Option("mon_osd_laggy_weight", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
     .set_default(.3)
-      .set_min_max(0.0, 1.0)
+    .set_min_max(0.0, 1.0)
     .set_description("how heavily to weight OSD marking itself back up in overall laggy_probability")
     .set_long_description("1.0 means that an OSD marking itself back up (because it was marked down but not actually dead) means a 100% laggy_probability; 0.0 effectively disables tracking of laggy_probability."),
 
@@ -1376,11 +1376,11 @@ std::vector<Option> get_global_options() {
 
     Option("mon_osd_warn_op_age", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
     .set_default(32)
-    .set_description("issue health warning if OSD ops are slower than this age (seconds)"),
+    .set_description("issue REQUEST_SLOW health warning if OSD ops are slower than this age (seconds)"),
 
     Option("mon_osd_err_op_age_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
     .set_default(128)
-    .set_description("issue health error if OSD ops are slower than is age (seconds)"),
+    .set_description("issue REQUEST_STUCK health error if OSD ops are slower than is age (seconds)"),
 
     Option("mon_osd_max_split_count", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(32)
@@ -1486,7 +1486,7 @@ std::vector<Option> get_global_options() {
     .set_default(.66)
     .set_flag(Option::FLAG_NO_MON_UPDATE)
     .set_flag(Option::FLAG_CLUSTER_CREATE)
-    .set_description(""),
+    .set_description("issue CACHE_POOL_NEAR_FULL health warning when cache pool utilization exceeds this ratio of usable space"),
 
     Option("mon_osd_full_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
     .set_default(.95)
@@ -1514,47 +1514,52 @@ std::vector<Option> get_global_options() {
 
     Option("mon_allow_pool_delete", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(false)
-    .set_description(""),
+    .set_description("allow pool deletions"),
 
     Option("mon_fake_pool_delete", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(false)
-    .set_description(""),
+    .set_description("fake pool deletions by renaming the rados pool"),
 
     Option("mon_globalid_prealloc", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(10000)
-    .set_description(""),
+    .set_description("number of globalid values to preallocate")
+    .set_long_description("This setting caps how many new clients can authenticate with the cluster before the monitors have to perform a write to preallocate more.  Large values burn through the 64-bit ID space more quickly."),
 
     Option("mon_osd_report_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(900)
-    .set_description(""),
+    .set_description("time before OSDs who do not report to the mons are marked down (seconds)"),
 
     Option("mon_force_standby_active", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(true)
-    .set_description(""),
+    .set_description("allow use of MDS daemons in standby-replay as replacements"),
 
     Option("mon_warn_on_legacy_crush_tunables", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(true)
-    .set_description(""),
+    .set_description("issue OLD_CRUSH_TUNABLES health warning if CRUSH tunables are older than mon_crush_min_required_version")
+    .add_see_also("mon_crush_min_required_version"),
 
     Option("mon_crush_min_required_version", Option::TYPE_STR, Option::LEVEL_ADVANCED)
     .set_default("firefly")
-    .set_description(""),
+    .set_description("minimum ceph release to use for mon_warn_on_legacy_crush_tunables")
+    .add_see_also("mon_warn_on_legacy_crush_tunables"),
 
     Option("mon_warn_on_crush_straw_calc_version_zero", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(true)
-    .set_description(""),
+    .set_description("issue OLD_CRUSH_STRAW_CALC_VERSION health warning if the CRUSH map's straw_calc_version is zero"),
 
     Option("mon_warn_on_osd_down_out_interval_zero", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(true)
-    .set_description(""),
+    .set_description("issue OSD_NO_DOWN_OUT_INTERVAL health warning if mon_osd_down_out_interval is zero")
+    .set_long_description("Having mon_osd_down_out_interval set to 0 means that down OSDs are not marked out automatically and the cluster does not heal itself without administrator intervention.")
+    .add_see_also("mon_osd_down_out_interval"),
 
     Option("mon_warn_on_cache_pools_without_hit_sets", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(true)
-    .set_description(""),
+    .set_description("issue CACHE_POOL_NO_HIT_SET health warning for cache pools that do not have hit sets configured"),
 
     Option("mon_warn_on_pool_no_app", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(true)
-    .set_description("Enable POOL_APP_NOT_ENABLED health check"),
+    .set_description("issue POOL_APP_NOT_ENABLED health warning if pool has not application enabled"),
 
     Option("mon_warn_on_misplaced", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(false)
@@ -1562,7 +1567,7 @@ std::vector<Option> get_global_options() {
 
     Option("mon_max_snap_prune_per_epoch", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(100)
-    .set_description("Max number of pruned snaps we will process in a single OSDMap epoch"),
+    .set_description("max number of pruned snaps we will process in a single OSDMap epoch"),
 
     Option("mon_min_osdmap_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(500)
@@ -1570,27 +1575,31 @@ std::vector<Option> get_global_options() {
 
     Option("mon_max_log_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(500)
-    .set_description(""),
+    .set_description("max number of past cluster log epochs to store"),
 
     Option("mon_max_mdsmap_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(500)
-    .set_description(""),
+    .set_description("max number of FSMaps/MDSMaps to store"),
 
     Option("mon_max_mgrmap_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(500)
-    .set_description(""),
+    .set_description("max number of MgrMaps to store"),
 
     Option("mon_max_osd", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(10000)
-    .set_description(""),
+    .set_description("max number of OSDs in a cluster"),
 
     Option("mon_probe_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
     .set_default(2.0)
-    .set_description(""),
+    .set_description("timeout for querying other mons during bootstrap pre-election phase (seconds)"),
 
     Option("mon_client_bytes", Option::TYPE_SIZE, Option::LEVEL_ADVANCED)
     .set_default(100ul << 20)
-    .set_description(""),
+    .set_description("max bytes of outstanding client messages mon will read off the network"),
+
+    Option("mon_daemon_bytes", Option::TYPE_SIZE, Option::LEVEL_ADVANCED)
+    .set_default(400ul << 20)
+    .set_description("max bytes of outstanding mon messages mon will read off the network"),
 
     Option("mon_mgr_proxy_client_bytes_ratio", Option::TYPE_FLOAT, Option::LEVEL_DEV)
     .set_default(.3)
@@ -1599,15 +1608,11 @@ std::vector<Option> get_global_options() {
 
     Option("mon_log_max_summary", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(50)
-    .set_description(""),
-
-    Option("mon_daemon_bytes", Option::TYPE_SIZE, Option::LEVEL_ADVANCED)
-    .set_default(400ul << 20)
-    .set_description(""),
+    .set_description("number of recent cluster log messages to retain"),
 
     Option("mon_max_log_entries_per_event", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(4096)
-    .set_description(""),
+    .set_description("max cluster log entries per paxos event"),
 
     Option("mon_reweight_min_pgs_per_osd", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(10)
@@ -1627,13 +1632,14 @@ std::vector<Option> get_global_options() {
 
     Option("mon_health_to_clog", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(true)
-    .set_description(""),
+    .set_description("log monitor health to cluster log"),
 
     Option("mon_health_to_clog_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(1_hr)
-    .set_description(""),
+    .set_description("frequency to log monitor health to cluster log")
+    .add_see_also("mon_health_to_clog"),
 
-    Option("mon_health_to_clog_tick_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
+    Option("mon_health_to_clog_tick_interval", Option::TYPE_FLOAT, Option::LEVEL_DEV)
     .set_default(60.0)
     .set_description(""),
 
@@ -1643,49 +1649,51 @@ std::vector<Option> get_global_options() {
 
     Option("mon_health_log_update_period", Option::TYPE_INT, Option::LEVEL_DEV)
     .set_default(5)
-    .set_description("Minimum time in seconds between log messages about "
+    .set_description("minimum time in seconds between log messages about "
                      "each health check")
     .set_min(0),
 
     Option("mon_data_avail_crit", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(5)
-    .set_description(""),
+    .set_description("issue MON_DISK_CRIT health error when mon available space below this percentage"),
 
     Option("mon_data_avail_warn", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(30)
-    .set_description(""),
+    .set_description("isue MON_DISK_LOW health warning when mon available space below this percentage"),
 
     Option("mon_data_size_warn", Option::TYPE_SIZE, Option::LEVEL_ADVANCED)
     .set_default(15_G)
-    .set_description(""),
+    .set_description("issue MON_DISK_BIG health warning when mon database is above this size"),
 
     Option("mon_warn_not_scrubbed", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(0)
-    .set_description(""),
+    .set_description("if non-zero, issue PG_NOT_SCRUBBED when PG(s) have not been scrubbed for more than this long beyond the configured mon_scrub_interval (seconds)")
+    .add_see_also("osd_scrub_min_interval"),
 
     Option("mon_warn_not_deep_scrubbed", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(0)
-    .set_description(""),
+    .set_description("if non-zero, issue PG_NOT_DEEP_SCRUBBED when PG(s) have not been scrubbed for more than this long beyond the configured mon_scrub_interval (seconds)")
+    .add_see_also("osd_deep_scrub_interval"),
 
     Option("mon_scrub_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(1_day)
-    .set_description(""),
+    .set_description("frequency for scrubbing mon database"),
 
     Option("mon_scrub_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(5_min)
-    .set_description(""),
+    .set_description("timeout to restart scrub of mon quorum participant does not respond for the latest chunk"),
 
     Option("mon_scrub_max_keys", Option::TYPE_INT, Option::LEVEL_ADVANCED)
     .set_default(100)
-    .set_description(""),
+    .set_description("max keys per on scrub chunk/step"),
 
     Option("mon_scrub_inject_crc_mismatch", Option::TYPE_FLOAT, Option::LEVEL_DEV)
     .set_default(0.0)
-    .set_description(""),
+    .set_description("probability for injecting crc mismatches into mon scrub"),
 
     Option("mon_scrub_inject_missing_keys", Option::TYPE_FLOAT, Option::LEVEL_DEV)
     .set_default(0.0)
-    .set_description(""),
+    .set_description("probability for injecting missing keys into mon scrub"),
 
     Option("mon_config_key_max_entry_size", Option::TYPE_SIZE, Option::LEVEL_ADVANCED)
     .set_default(64_K)
@@ -1694,19 +1702,19 @@ std::vector<Option> get_global_options() {
 
     Option("mon_sync_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
     .set_default(60.0)
-    .set_description(""),
+    .set_description("timeout before canceling sync if syncing mon does not respond"),
 
     Option("mon_sync_max_payload_size", Option::TYPE_SIZE, Option::LEVEL_ADVANCED)
     .set_default(1_M)
-    .set_description(""),
+    .set_description("target max message payload for mon sync"),
 
-    Option("mon_sync_debug", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
+    Option("mon_sync_debug", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
-    .set_description(""),
+    .set_description("enable extra debugging during mon sync"),
 
     Option("mon_inject_sync_get_chunk_delay", Option::TYPE_FLOAT, Option::LEVEL_DEV)
     .set_default(0)
-    .set_description(""),
+    .set_description("inject delay during sync (seconds)"),
 
     Option("mon_osd_min_down_reporters", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(2)
@@ -1725,17 +1733,17 @@ std::vector<Option> get_global_options() {
     .set_description("Warn when snap trim queue is that large (or larger).")
     .set_long_description("Warn when snap trim queue length for at least one PG crosses this value, as this is indicator of snap trimmer not keeping up, wasting disk space"),
 
-    Option("mon_osd_force_trim_to", Option::TYPE_INT, Option::LEVEL_ADVANCED)
+    Option("mon_osd_force_trim_to", Option::TYPE_INT, Option::LEVEL_DEV)
     .set_default(0)
-    .set_description(""),
+    .set_description("force mons to trim osdmaps through this epoch"),
 
-    Option("mon_mds_force_trim_to", Option::TYPE_INT, Option::LEVEL_ADVANCED)
+    Option("mon_mds_force_trim_to", Option::TYPE_INT, Option::LEVEL_DEV)
     .set_default(0)
-    .set_description(""),
+    .set_description("force mons to trim mdsmaps/fsmaps through this epoch"),
 
     Option("mon_mds_skip_sanity", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(false)
-    .set_description(""),
+    .set_description("skip sanity checks on fsmap/mdsmap"),
 
     Option("mon_debug_extra_checks", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
@@ -1755,67 +1763,71 @@ std::vector<Option> get_global_options() {
 
     Option("mon_debug_deprecated_as_obsolete", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
-    .set_description(""),
+    .set_description("treat deprecated mon commands as obsolete"),
 
     Option("mon_debug_dump_transactions", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
-    .set_description(""),
+    .set_description("dump paxos transactions to log")
+    .add_see_also("mon_debug_dump_location"),
 
     Option("mon_debug_dump_json", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
-    .set_description(""),
+    .set_description("dump paxos transasctions to log as json")
+    .add_see_also("mon_debug_dump_transactions"),
 
     Option("mon_debug_dump_location", Option::TYPE_STR, Option::LEVEL_DEV)
     .set_default("/var/log/ceph/$cluster-$name.tdump")
-    .set_description(""),
+    .set_description("file to dump paxos transactions to")
+    .add_see_also("mon_debug_dump_transactions"),
 
     Option("mon_debug_no_require_mimic", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
     .set_flag(Option::FLAG_CLUSTER_CREATE)
-    .set_description(""),
+    .set_description("do not set mimic feature for new mon clusters"),
 
     Option("mon_debug_no_require_nautilus", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
     .set_flag(Option::FLAG_CLUSTER_CREATE)
-    .set_description(""),
+    .set_description("do not set nautilus feature for new mon clusters"),
 
     Option("mon_debug_no_require_bluestore_for_ec_overwrites", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
-    .set_description(""),
+    .set_description("do not require bluestore OSDs to enable EC overwrites on a rados pool"),
 
     Option("mon_debug_no_initial_persistent_features", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
     .set_flag(Option::FLAG_CLUSTER_CREATE)
-    .set_description(""),
+    .set_description("do not set any monmap features for new mon clusters"),
 
     Option("mon_inject_transaction_delay_max", Option::TYPE_FLOAT, Option::LEVEL_DEV)
     .set_default(10.0)
-    .set_description(""),
+    .set_description("max duration of injected delay in paxos"),
 
     Option("mon_inject_transaction_delay_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV)
     .set_default(0)
-    .set_description(""),
+    .set_description("probability of injecting a delay in paxos"),
 
     Option("mon_inject_pg_merge_bounce_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV)
     .set_default(0)
-    .set_description(""),
+    .set_description("probability of failing and reverting a pg_num decrement"),
 
     Option("mon_sync_provider_kill_at", Option::TYPE_INT, Option::LEVEL_DEV)
     .set_default(0)
-    .set_description(""),
+    .set_description("kill mon sync requester at specific point"),
 
     Option("mon_sync_requester_kill_at", Option::TYPE_INT, Option::LEVEL_DEV)
     .set_default(0)
-    .set_description(""),
+    .set_description("kill mon sync requestor at specific point"),
 
     Option("mon_force_quorum_join", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(false)
-    .set_description(""),
+    .set_description("force mon to rejoin quorum even though it was just removed"),
 
     Option("mon_keyvaluedb", Option::TYPE_STR, Option::LEVEL_ADVANCED)
     .set_default("rocksdb")
+    .set_enum_allowed({"leveldb", "rocksdb"})
     .set_flag(Option::FLAG_CREATE)
-    .set_description(""),
+    .set_description("database backend to use for the mon database"),
 
     Option("mon_debug_unsafe_allow_tier_with_nonempty_snaps", Option::TYPE_BOOL, Option::LEVEL_DEV)
     .set_default(false)
@@ -1834,7 +1846,7 @@ std::vector<Option> get_global_options() {
 
     Option("mon_osd_crush_smoke_test", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
     .set_default(true)
-    .set_description(""),
+    .set_description("perform a smoke test on any new CRUSH map before accepting changes"),
 
     Option("mon_smart_report_timeout", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(5)