]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
crimson/osd: add support for OSD Service Specification
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 7 Jul 2022 09:59:52 +0000 (09:59 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 7 Jul 2022 10:19:17 +0000 (10:19 +0000)
commit448285dcbf72fb4a80ee30458f8d1e5089d052d5
tree93fd704f3d43cb9dedc37685527919a7f6eeda4b
parent55e46c7e023f2924c93abca495d7620055785b6a
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>
src/crimson/osd/main.cc
src/crimson/osd/osd.cc
src/crimson/osd/osd.h