Actions
Bug #58884
closedceph: osd blocklist does not accept v2/v1: prefix for addr
% Done:
100%
Source:
Community (dev)
Tags:
backport_processed
Backport:
quincy,pacific
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
ceph cli
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
pdonnell@vossi04 ~/ceph/build$ bin/ceph osd blocklist add v2:127.0.0.1:0/4125822692 *** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *** 2023-02-28T17:35:48.653+0000 7faceebda700 -1 WARNING: all dangerous and experimental features are enabled. 2023-02-28T17:35:48.663+0000 7faceebda700 -1 WARNING: all dangerous and experimental features are enabled. Traceback (most recent call last): File "bin/ceph", line 1327, in <module> retval = main() File "bin/ceph", line 1254, in main verbose) File "bin/ceph", line 649, in new_style_command ret, outbuf, outs = do_command(parsed_args, target, cmdargs, sigdict, inbuf, verbose) File "bin/ceph", line 578, in do_command valid_dict = validate_command(sigdict, cmdargs, verbose) File "/home/pdonnell/ceph/src/pybind/ceph_argparse.py", line 1341, in validate_command matched: float = matchnum(args, sig, partial=True) File "/home/pdonnell/ceph/src/pybind/ceph_argparse.py", line 1065, in matchnum validate_one(word, desc, False, partial and (len(words) == 0)) File "/home/pdonnell/ceph/src/pybind/ceph_argparse.py", line 1032, in validate_one desc.instance.valid(word, partial) File "/home/pdonnell/ceph/src/pybind/ceph_argparse.py", line 446, in valid super(self.__class__, self).valid(ip) File "/home/pdonnell/ceph/src/pybind/ceph_argparse.py", line 398, in valid if int(p) > 65535: ValueError: invalid literal for int() with base 10: '127.0.0.1:0'
Of course, many places in ceph will output the addrv in this format. So it's confusing it's not accepted in this command.
Updated by Nitzan Mordechai about 1 year ago
- Status changed from New to In Progress
- Assignee set to Nitzan Mordechai
looks like addr type is CephEntityAddr, which mean it will accept "CephEntityAddr: CephIPAddr + optional '/nonce'"
COMMAND("osd blocklist " "name=range,type=CephString,goodchars=[range],req=false " "name=blocklistop,type=CephChoices,strings=add|rm " "name=addr,type=CephEntityAddr " "name=expire,type=CephFloat,range=0.0,req=false", "add (optionally until <expire> seconds from now) or remove <addr> from blocklist", "osd", "rw")
The parser of CephEntityAddr (entity_addr_t::parse) will handle V1\V2 format, but the class CephEntityAddr(CephIPAddr) valid won't accept it.
Updated by Nitzan Mordechai about 1 year ago
- Status changed from In Progress to Fix Under Review
- Pull request ID set to 50418
Updated by Nitzan Mordechai 11 months ago
- Status changed from Fix Under Review to Pending Backport
Updated by Backport Bot 11 months ago
- Copied to Backport #61487: quincy: ceph: osd blocklist does not accept v2/v1: prefix for addr added
Updated by Backport Bot 11 months ago
- Copied to Backport #61488: pacific: ceph: osd blocklist does not accept v2/v1: prefix for addr added
Updated by Konstantin Shalygin 5 months ago
- Status changed from Pending Backport to Resolved
- % Done changed from 0 to 100
Actions