This issue concerns the bench-fio tool.
The issue appears when using Ceph rbd as device type: The -d parameter is required and I feed it a string (the name of the image I want to use). In line 31 of filter_options of bench_fio/benchlib/generatefio.py the parameter from filetype is checked against the type list and as it is rbd the check_target_type function returns None.
This result (None) is then assigned to the variable devicetype (still line 31, bench_fio/benchlib/generatefio.py), which in line 32 is used as an index for a dictionary, which fails, as expected
The result is a stacktrace with a TypeError (should be string, is None)
As the checks.check_target_type function is used only once and thus no side effects are expected, it should return 'rbdname' instead of None. That way the devicetype variable would be set correctly and the field rbdname in the config dictionary would be set correctly, so fio can go to work.
This issue concerns the bench-fio tool. The issue appears when using Ceph rbd as device type: The -d parameter is required and I feed it a string (the name of the image I want to use). In line 31 of filter_options of bench_fio/benchlib/generatefio.py the parameter from filetype is checked against the type list and as it is rbd the check_target_type function returns None. This result (None) is then assigned to the variable devicetype (still line 31, bench_fio/benchlib/generatefio.py), which in line 32 is used as an index for a dictionary, which fails, as expected The result is a stacktrace with a TypeError (should be string, is None)
As the checks.check_target_type function is used only once and thus no side effects are expected, it should return 'rbdname' instead of None. That way the devicetype variable would be set correctly and the field rbdname in the config dictionary would be set correctly, so fio can go to work.