Samuel Just [Wed, 19 Oct 2022 22:37:14 +0000 (15:37 -0700)]
crimson/osd/main: get full config before starting reactor
Deployment tooling these days relies on fetching configs from the
mons. We'd like to be able to set seastar reactor params like --smp
via mon config, so we need to start up a reactor and contact the mons
before starting up the reactor for real.
Seastar doesn't seem to like invoking app.run more than once -- a bunch
of thread-locals and statics get left around and result in invalid
memory accesses. To avoid all of this, we simply fork a child process
to talk to the mons and send the information back over a fifo.