osd: Update osd's IOPS capacity using async Context completion instead of cond wait.
The method, OSD::mon_cmd_set_config(), sets a config option related to
mClock during OSD boot-up. The method waits on a condition variable
until the mon acks the command. This is generally not a problem. But
there could be scenarios where monitor could be slow to respond, or due
to a flaky network, response could be delayed. The OSD could therefore
be blocked from booting-up. To avoid this, the conditional wait can be
replaced with an async Context completion.
Moreover, persisting this in the monitor store is not very critical. An
existing fallback mechanism stores this value in the in-memory "values"
map of the config subsystem. This can be read by the OSD at any point
during its operation.
The issue of the OSDs being blocked from booting-up properly was
observed when running tests with failure injections during OSD boot-up.