This is not particularly efficient, but it works:
- connect to the monitor to get the monmap and config
- tear it all down
- proceed with normal startup (which presumably involves reconnecting
to the mon all over again).
This allows us to set config options that may affect the mon communication
itself, like ms_type.
Signed-off-by: Sage Weil <sage@redhat.com>
We need to allow crypto to be set up and torn down before a fork. Count
the init/shutdown cycles to make that safe.
Signed-off-by: Sage Weil <sage@redhat.com>
This is too complete a rewrite to reasonably break down into small steps,
and even if I could, it would be harder to review that way than to simply
review the new implementation. The semantics of the old one were so weird
that it's harder to reason about the change in behavior than to simply
review the new behavior.
That's my story, at least, and I'm sticking to it!
So, here are the highlights:
- $foo meta expansions are evaluated at get_val() time. This means the
weird bool arguments to set_val specifying whether things were expanded
are removed (they didn't make any sense unless you were thinking about the
old implementation).
- for every option, we track values from any inputs (config, mon,
override). At get_val() time, we pick the highest priority one.
- diff() is rewritten to be simple and to show you all of the above.
- internal interfaces are simplified, and in terms of Option::value_t
whenever possible.
- unit tests simplified somewhat based on the above.
Known issues:
- legacy values get pushed out in select cases. Notably if foo=$bar
and bar is updated, we do not update $foo (there is no dependency
tracking to do this efficiently).
Signed-off-by: Sage Weil <sage@redhat.com>
- pass an optional map<string,string> instead of an arg list
- remember default values in md_config_t
- some nicer helpers
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/20688/head:
doc: Drop the output of pg query
doc: Update Monitoring OSDs and PGs
Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
mgr/dashboard_v2: Initial submission of a web-based management UI (replacement for the existing dashboard)
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
msg/async: execute on core specified by core_id not its index
Reviewed-by: shangfufei <shangfufei@inspur.com>
Reviewed-by: Haomai Wang <haomai@xsky.com>
This workunit is only used by the two rest-api test cases that are also being removed.
Fixes: http://tracker.ceph.com/issues/21264
Signed-off-by: Nathan Cutler <ncutler@suse.com>
We don't actually take any budget, as we don't want to hit the
total op limits (especially on eg rbd-mirror), but this prevents
our per-message budgeting from causing a deadlock.
Fixes: http://tracker.ceph.com/issues/22882
Signed-off-by: Greg Farnum <gfarnum@redhat.com>