]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
Allow setting peering_crush_bucket_{count|target|barrier}
authorKamoltat <ksirivad@redhat.com>
Fri, 15 Mar 2024 22:01:06 +0000 (22:01 +0000)
committerKamoltat Sirivadhna <ksirivad@redhat.com>
Wed, 28 Aug 2024 18:49:02 +0000 (18:49 +0000)
commit072b08eddccd4654d42b1d65b36ed4d3f12c126c
treede3edc94158977677269f07bb2adb71444c00717
parent7b05f4ef10897c8174f85e9baca795df0dd2a5d1
Allow setting peering_crush_bucket_{count|target|barrier}

In the command `ceph osd pool stretch set`

<pool> <peering_crush_bucket_count>
<peering_crush_bucket_target> <peering_crush_bucket_barrier>
<crush_rule> <size> <min_size>

user has the option of setting the value of `peering_crush_bucket_{count|target|barrier}`.
This will then allow the utilization `calc_replicated_acting_stretch`,
since with `peering_crush_bucket_count != 0`
the pool is now a stretch_pool and we can handle pg_temp
better by settubg barriers and limits to how much OSDs
should be in a pg_temp.

This will enable the specify pool to
handle pg_temp properly during create_acting, as a stretch pool
should.

User can also use the command:
`osd pool stretch show <pool> `

to show all the stretch related information for the pool

pool: cephfs.a.data
pool_id: 3
is_stretch_pool: 1
peering_crush_bucket_count: 3
peering_crush_bucket_target: 3
peering_crush_bucket_barrier: 8
crush_rule: replicated_rule_custom
size: 3
min_size: 2

User can also unset the stretch pool wiith the commnad:
`osd pool stretch unset <pool>`
However, the pool must be a stretch pool.

Fixes: https://tracker.ceph.com/issues/64802
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 661e8e22cff8763cf8775f204dda4490e464db2c)
src/mon/MonCommands.h
src/mon/OSDMonitor.cc
src/mon/OSDMonitor.h
src/osd/osd_types.cc