-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
create rbd pool in autoscaling mode fails with Error ERANGE pgp_num #7353
Comments
Hi, Indeed it seems to be a Ceph issue as doing the same in my test env works:
For that error to happen, pgp_num must be greater than pg_num (https://github.com/ceph/ceph/blob/f2f5ca51509ee8bd6b66772a02f0f57c68862fd7/src/mon/OSDMonitor.cc#L8012) but with autoscale-mode set to on, pg_num is set to 1 which means that in your case pgp_num has to be greater than this value. Have you changed the default value of osd_pool_default_pgp_num in your ceph.conf file? |
From the all.yml file you shared: global:
osd_pool_default_size: "{{ osd_pool_default_size }}"
osd_pool_default_min_size: "{{ osd_pool_default_min_size }}"
osd_pool_default_pg_num: 128
osd_pool_default_pgp_num: 128
osd_crush_chooseleaf_type: 1
mon_osd_min_down_reporters: 1
mon:
auth_allow_insecure_global_id_reclaim: false
osd:
osd_min_pg_log_entries: 500
osd_max_pg_log_entries: 500
osd memory target: "{{ osd_memory_target }}" You are forcing pgp_num to 128. pgp_num cannot be higher than pg_num, this is why you get that error. When using autoscale_mode=on, pg_num = 1 (https://docs.ceph.com/en/latest/rados/configuration/pool-pg-config-ref/#confval-osd_pool_default_pg_autoscale_mode) |
thanks a lot. |
Bug Report
What happened:
ceph-ansible (stable-7.0) is not able to create an rbd pool with autoscale_mode=on.
I get the error:
What you expected to happen:
The rbd pool should be created with no error in autoscaling mode.
How to reproduce it (minimal and precise):
Using :
Using clients.yml car file to create an rbd pool:
ceph-ansible fails:
Maybe it's a ceph bug?
Also note that creating the rbd in autoscale_mode=warn and then setting it to "on" seems to work:
Share your group_vars files, inventory and full ceph-ansibe log
Environment:
uname -a
): 5.14.0-70docker version
): N/Aansible-playbook --version
): 2.12.0git head or tag or stable branch
): stable-7.0ceph -v
): 17.2.5Thanks!
all.yml.gz
osds.yml.gz
clients.yml.gz
ansible.log.gz
The text was updated successfully, but these errors were encountered: