From d69bf2635ed549a14b301fec9d216bad867a85af Mon Sep 17 00:00:00 2001 From: Joshua Schmid Date: Wed, 29 Apr 2020 17:49:52 +0200 Subject: [PATCH] ceph-volume: add osdspec_affinity flag to ceph-osd Signed-off-by: Joshua Schmid (cherry picked from commit 815f8e6470c6e72d9e2f51630dd3c26d388847aa) --- src/ceph-volume/ceph_volume/util/prepare.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ceph-volume/ceph_volume/util/prepare.py b/src/ceph-volume/ceph_volume/util/prepare.py index bf70b49a5b4bd..e6e0a9df6bf2d 100644 --- a/src/ceph-volume/ceph_volume/util/prepare.py +++ b/src/ceph-volume/ceph_volume/util/prepare.py @@ -399,6 +399,10 @@ def get_monmap(osd_id): ]) +def get_osdspec_affinity(): + return os.environ.get('CEPH_VOLUME_OSDSPEC_AFFINITY', '') + + def osd_mkfs_bluestore(osd_id, fsid, keyring=None, wal=False, db=False): """ Create the files for the OSD to function. A normal call will look like: @@ -450,6 +454,9 @@ def osd_mkfs_bluestore(osd_id, fsid, keyring=None, wal=False, db=False): ) system.chown(db) + if get_osdspec_affinity(): + base_command.extend(['--osdspec-affinity', get_osdspec_affinity()]) + command = base_command + supplementary_command _, _, returncode = process.call(command, stdin=keyring, show_command=True) @@ -457,10 +464,6 @@ def osd_mkfs_bluestore(osd_id, fsid, keyring=None, wal=False, db=False): raise RuntimeError('Command failed with exit code %s: %s' % (returncode, ' '.join(command))) -def get_osdspec_affinity(): - return os.environ.get('CEPH_VOLUME_OSDSPEC_AFFINITY', '') - - def osd_mkfs_filestore(osd_id, fsid, keyring): """ Create the files for the OSD to function. A normal call will look like: @@ -491,6 +494,9 @@ def osd_mkfs_filestore(osd_id, fsid, keyring): '--monmap', monmap, ] + if get_osdspec_affinity(): + command.extend(['--osdspec-affinity', get_osdspec_affinity()]) + if __release__ != 'luminous': # goes through stdin command.extend(['--keyfile', '-']) -- 2.39.5