crimson/osd: add support for OSD Service Specification
This patch is a crimson's counterpart of
1b44b6709d9400102c14ad3ea40fca19ab4ed214 that brought
the support for `--osdspec-affinity` to the classical
OSD.
`cephadm` started passing this argv which caused the
problem reported by Li, Jianxin <jianxin1.li@intel.com>.
See:
* https://gist.github.com/rzarzynski/
4d1225971b6c28758cb2b68fbda3bf5f?permalink_comment_id=
4223998#gistcomment-
4223998
* https://docs.ceph.com/en/octopus/cephadm/drivegroups/
Testing
-------
```diff
diff --git a/src/vstart.sh b/src/vstart.sh
index
51ebcf26cdb..
2a5b485e8d7 100755
--- a/src/vstart.sh
+++ b/src/vstart.sh
@@ -1014,7 +1014,7 @@ EOF
echo "{\"cephx_secret\": \"$OSD_SECRET\"}" > $CEPH_DEV_DIR/osd$osd/new.json
ceph_adm osd new $uuid -i $CEPH_DEV_DIR/osd$osd/new.json
rm $CEPH_DEV_DIR/osd$osd/new.json
- prun $SUDO $CEPH_BIN/$ceph_osd $extra_osd_args -i $osd $ARGS --mkfs --key $OSD_SECRET --osd-uuid $uuid $extra_seastar_args \
+ prun $SUDO $CEPH_BIN/$ceph_osd $extra_osd_args -i $osd $ARGS --mkfs --osdspec-affinity None --key $OSD_SECRET --osd-uuid $uuid $extra_seastar_args \
2>&1 | tee $CEPH_OUT_DIR/osd-mkfs.$osd.log
local key_fn=$CEPH_DEV_DIR/osd$osd/keyring
```
The new meta is truly set:
```
$ bin/ceph-bluestore-tool --path dev/osd0/ show-label
inferring bluefs devices from bluestore path
{
"dev/osd0/block": {
"osd_uuid": "
c0534f3a-3d2b-4080-91da-
cefc76387e4b",
"size":
107374182400,
"btime": "2022-07-07T09:56:34.306383+0000",
"description": "main",
"bfm_blocks": "
26214400",
"bfm_blocks_per_key": "128",
"bfm_bytes_per_block": "4096",
"bfm_size": "
107374182400",
"bluefs": "1",
"ceph_fsid": "
c4b8836d-cbf6-434f-ac4c-
4ed1f869ec31",
"kv_backend": "rocksdb",
"magic": "ceph osd volume v026",
"mkfs_done": "yes",
"osd_key": "AQDRrcZitoB+HxAAsJNAHtv9S2Kyrh0HfJOpzw==",
"osdspec_affinity": "None",
"ready": "ready",
"require_osd_release": "17",
"whoami": "0"
},
"dev/osd0/block.wal": {
"osd_uuid": "
c0534f3a-3d2b-4080-91da-
cefc76387e4b",
"size":
1048576000,
"btime": "2022-07-07T09:56:34.311501+0000",
"description": "bluefs wal"
},
"dev/osd0/block.db": {
"osd_uuid": "
c0534f3a-3d2b-4080-91da-
cefc76387e4b",
"size":
1073741824,
"btime": "2022-07-07T09:56:34.308145+0000",
"description": "bluefs db"
}
}
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>