]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
crimson/osd/main: get full config before starting reactor
authorSamuel Just <sjust@redhat.com>
Wed, 19 Oct 2022 22:37:14 +0000 (15:37 -0700)
committerSamuel Just <sjust@redhat.com>
Thu, 5 Jan 2023 20:42:58 +0000 (12:42 -0800)
commit1eeac80a77ccdb95ac030ec11d30d60ec1bb6989
treeea3ae0f0a668f5681ed609c64f4ed67b7e1d8c6c
parent0f93f745c63197c4885049d64e4ae1013300e3a9
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.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/common/ceph_argparse.h
src/common/options/crimson.yaml.in
src/crimson/osd/CMakeLists.txt
src/crimson/osd/main.cc
src/crimson/osd/main_config_bootstrap_helpers.cc [new file with mode: 0644]
src/crimson/osd/main_config_bootstrap_helpers.h [new file with mode: 0644]
src/vstart.sh