]> git.apps.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 <ksirivad@redhat.com>
Wed, 17 Jul 2024 22:11:29 +0000 (22:11 +0000)
commit661e8e22cff8763cf8775f204dda4490e464db2c
tree3c61cdf7b4b2f11c4591f44f88f012955c99c06f
parent103cd8e78bcfe7f69647013187c053c9ccb76685
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>
src/mon/MonCommands.h
src/mon/OSDMonitor.cc
src/mon/OSDMonitor.h
src/osd/osd_types.cc