Bug #36327
closed
Broken parameter parsing in /etc/ceph/rbdmap
Added by Marc Schöchlin over 5 years ago.
Updated about 5 years ago.
Description
I would like to add a queue_depth parameter on mapping rbd devices using /etc/ceph/rbdmap.
rbd map rbd_hdd/foo-001_srv --id foo --keyring /etc/ceph/ceph.client.foo.keyring --options lock_on_read,queue_depth=1024
Add added the following line to g /etc/ceph/rbdmap:
rbd_hdd/archiv-001_srv id=archiv,keyring=/etc/ceph/ceph.client.archiv.keyring,options=lock_on_read,queue_depth=1024
This does not work, because the options parsing of "/usr/bin/rbdmap" (https://github.com/ceph/ceph/blob/master/src/rbdmap) is too simple.
Placing a "set -x" before the "rbd map" command results to a broken command:
# rbdmap map
++ rbd map rbd_hdd/foo-001_srv --id foo --keyring /etc/ceph/ceph.client.foo.keyring --options '"lock_on_read' --queue_depth '1024"'
+ MAP_RV='rbd: unrecognised option '\''--queue_depth'\'''
+ '[' 1 -eq 0 ']'
+ RET=1
Test expressions:
PARAMS="options='lock_on_read,queue_depth=1024',id=archiv,keyring=/etc/ceph/ceph.client.archiv.keyring"
echo -e " ORIGINAL PARAM: >>>$PARAMS<<<\nCONVERTED PARAM: >>>$(create_cmd_params "$PARAMS")<<<"
PARAMS="id=archiv,keyring=/etc/ceph/ceph.client.archiv.keyring,options='lock_on_read,queue_depth=1024'"
echo -e " ORIGINAL PARAM: >>>$PARAMS<<<\nCONVERTED PARAM: >>>$(create_cmd_params "$PARAMS")<<<"
PARAMS=""
echo -e " ORIGINAL PARAM: >>>$PARAMS<<<\nCONVERTED PARAM: >>>$(create_cmd_params "$PARAMS")<<<"
PARAMS=",keyring=/etc/ceph/ceph.client.archiv.keyring,options='lock_on_read,queue_depth=1024',id=archiv,"
echo -e " ORIGINAL PARAM: >>>$PARAMS<<<\nCONVERTED PARAM: >>>$(create_cmd_params "$PARAMS")<<<"
PARAMS="'keyring'=/etc/ceph/ceph.client.archiv.keyring,options='lock_on_read,queue_depth=1024',id=archiv,"
echo -e " ORIGINAL PARAM: >>>$PARAMS<<<\nCONVERTED PARAM: >>>$(create_cmd_params "$PARAMS")<<<"
PARAMS="--keyring=/etc/ceph/ceph.client.archiv.keyring,options='lock_on_read,queue_depth=1024',id=archiv, # a comment"
echo -e " ORIGINAL PARAM: >>>$PARAMS<<<\nCONVERTED PARAM: >>>$(create_cmd_params "$PARAMS")<<<"
- Project changed from Ceph to rbd
- Category deleted (
common)
- Status changed from New to Fix Under Review
- Status changed from Fix Under Review to Pending Backport
- Target version deleted (
v12.2.9)
- Backport set to luminous,mimic
- Copied to Backport #37925: mimic: Broken parameter parsing in /etc/ceph/rbdmap added
- Copied to Backport #37926: luminous: Broken parameter parsing in /etc/ceph/rbdmap added
- Status changed from Pending Backport to Resolved
Also available in: Atom
PDF