forked from rook/rook
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
While it is possible to set these parameters through pool spec (see setCommonPoolProperties), the current approach is too simple to be practical. Ceph requires pg_num/pgp_num to be consistent with new pg_num_min and pg_num_max values before accepting to change them. Let's say you want to create a particular rgw index pool with a minimum of 32 PG instead of 8 PG by default, and still want to have pg autoscaler enabled to handle future growth. * index pool will be created with 8 PG by default * if then you try to set pg_num_min parameter via pool spec, set call will fail due to pg_num < new pg_num_min. * if you try to set pg_num/pgp_num/pg_num_min parameters via pool spec, set calls will fail too because you don't control the order in which parameters are applied (Parameters is a map with no particular ordering when setCommonPoolProperties iterates over parameters) * even if above point would be properly managed, set calls could still fail if pg autoscaler kick-in between setting of pg_num/pgp_num parameters and setting of pp_num_min parameter. This commit makes pg_num_min/pg_num_max pool parameters fully managed by rook, handling rescaling of number of PG if needed, and including suspend of pg_autoscaler during PG rescaling. Co-authored-by: Peter Goron <[email protected]>
- Loading branch information
Showing
3 changed files
with
508 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.