Bug 703739 - getDeviceList fails when a non-ascii (utf8) char is present in the LUN serial
Summary: getDeviceList fails when a non-ascii (utf8) char is present in the LUN serial
Keywords:
Status: CLOSED DUPLICATE of bug 908776
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm
Version: 2.2.2
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: ---
: 3.2.0
Assignee: Eduardo Warszawski
QA Contact:
URL:
Whiteboard: storage
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-05-11 08:47 UTC by Dan Yasny
Modified: 2018-11-14 12:55 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-03-10 08:59:51 UTC
oVirt Team: Storage
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Dan Yasny 2011-05-11 08:47:58 UTC
Description of problem:
Using a SAN that has encoded chars in the LUN serial is not possible, because the char is not parseable.

[root@RHEV01 ~]# vdsClient 0 getDeviceList
Traceback (most recent call last):
  File "/usr/share/vdsm/vdsClient.py", line 1960, in ?
  File "/usr/share/vdsm/vdsClient.py", line 461, in getDeviceList
  File "/usr/lib64/python2.4/xmlrpclib.py", line 1096, in __call__
  File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request
  File "/usr/lib64/python2.4/xmlrpclib.py", line 1147, in request
  File "/usr/lib64/python2.4/xmlrpclib.py", line 1281, in _parse_response
  File "/usr/lib64/python2.4/xmlrpclib.py", line 527, in feed
ExpatError: not well-formed (invalid token): line 73, column 48



[root@RHEV01 ~]# python
Python 2.4.3 (#1, Dec 10 2010, 17:24:35) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.append('/usr/share/vdsm/')
>>> from storage import multipath
>>> multipathStatus = multipath.getStatus()
No handlers could be found for logger "irs"
>>> multipathStatus
{'32020001004006083': {'paths': [{'physdev': 'sdd', 'state': 'active', 'lun': '32'}], 'product': 'Coraid EtherDriv', 'vendor': 'CORAID', 'connections': [], 'devtype': 'FCP', 'serial': 'SCORAID_Coraid_EtherDriRHEV0101E_\x81', 'size': '1000000000000'}, '3600508e000000000fd4e33b8f9c90b01': {'paths': [{'physdev': 'sdc', 'state': 'active', 'lun': '0'}], 'product': 'Virtual Disk', 'vendor': 'Dell', 'connections': [], 'devtype': 'FCP', 'serial': '', 'size': '146163105792'}, '32020001004005f83': {'paths': [{'physdev': 'sde', 'state': 'active', 'lun': '32'}], 'product': 'Coraid EtherDriv', 'vendor': 'CORAID', 'connections': [], 'devtype': 'FCP', 'serial': 'SCORAID_Coraid_EtherDriRHEV0101A_\x81', 'size': '1000000000000'}}
>>>

note the 'serial': 'SCORAID_Coraid_EtherDriRHEV0101A_\x81' - the \x81 is an encoded char, which fails the parsing.

Version-Release number of selected component (if applicable):
vdsm22-4.5-63.25.el5_6

How reproducible:
always

Steps to Reproduce:
1.set up storage with a non-ascii char in the serial
2.try to use LUN with rhev
3.
  
Actual results:

[root@RHEV01 ~]# vdsClient 0 getDeviceList
Traceback (most recent call last):
  File "/usr/share/vdsm/vdsClient.py", line 1960, in ?
  File "/usr/share/vdsm/vdsClient.py", line 461, in getDeviceList
  File "/usr/lib64/python2.4/xmlrpclib.py", line 1096, in __call__
  File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request
  File "/usr/lib64/python2.4/xmlrpclib.py", line 1147, in request
  File "/usr/lib64/python2.4/xmlrpclib.py", line 1281, in _parse_response
  File "/usr/lib64/python2.4/xmlrpclib.py", line 527, in feed
ExpatError: not well-formed (invalid token): line 73, column 48

Expected results:
drop or convert the non-ascii chars

Additional info:

Comment 6 Ayal Baron 2013-03-10 08:59:51 UTC
Already fixed.

*** This bug has been marked as a duplicate of bug 908776 ***


Note You need to log in before you can comment on or make changes to this bug.