Skip to content
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

Arcconf parser breaks on channel information #67

Closed
rj667 opened this issue Mar 11, 2014 · 1 comment
Closed

Arcconf parser breaks on channel information #67

rj667 opened this issue Mar 11, 2014 · 1 comment
Labels
Milestone

Comments

@rj667
Copy link

rj667 commented Mar 11, 2014

My arcconf, Version 7.0 (B18781) doesn't just list physical devices, but lists them per channel. That looks like this:

----------------------------------------------------------------------
Physical Device information
----------------------------------------------------------------------
   Channel #0:
      Transfer Speed                        : Ultra320
      Initiator at SCSI ID 7
      Device #0
         Device is a Hard drive
         State                              : Online
         Supported                          : Yes
         Transfer Speed                     : Ultra320
         Reported Channel,Device(T:L)       : 0,0(0:0)
         Vendor                             : SEAGATE
         Model                              : ST3146707LC
         Firmware                           : 0005
         Serial number                      : 3KS5ABTV0000970648ZZ
         Size                               : 140014 MB
         Write Cache                        : Unknown
         FRU                                : None
         S.M.A.R.T.                         : No
         S.M.A.R.T. warnings                : 0
      Device #1
         Device is a Hard drive
         State                              : Online
         Supported                          : Yes
         Transfer Speed                     : Ultra320
         Reported Channel,Device(T:L)       : 0,1(1:0)
         Vendor                             : SEAGATE
         Model                              : ST3146707LC
         Firmware                           : 0005
         Serial number                      : 3KS5SD1P00009718B64U
         Size                               : 140014 MB
         Write Cache                        : Unknown
         FRU                                : None
         S.M.A.R.T.                         : No
         S.M.A.R.T. warnings                : 0
      Device #6
         Device is an Enclosure
         Type                               : SAF-TE
         Vendor                             : SUPER
         Model                              : GEM318
         Firmware                           : 0
         Status of Enclosure
            Temperature status              : Normal
   Channel #1:
      Transfer Speed                        : Ultra320
      Initiator at SCSI ID 7
      No physical drives attached

This breaks the parser in check_raid. The ouput of "check_raid.pl -d" is:

DEBUG EXEC: /usr/sbin/arcconf GETSTATUS 1 at ./check_raid.pl line 382.
DEBUG EXEC: /usr/sbin/arcconf GETCONFIG 1 AL at ./check_raid.pl line 382.
Unparsed Physical Device data: [   Channel #0:]
Use of uninitialized value $pd in array element at ./check_raid.pl line 2311, <$fh> line 58.
Unparsed Physical Device data: [      Initiator at SCSI ID 7]
Unparsed Physical Device data: [         Status of Enclosure]
Unparsed Physical Device data: [            Temperature status              : Normal]
Unparsed Physical Device data: [   Channel #1:]
Unparsed Physical Device data: [      Initiator at SCSI ID 7]
Unparsed Physical Device data: [      No physical drives attached]
Use of uninitialized value in pattern match (m//) at ./check_raid.pl line 2489.
Use of uninitialized value in string eq at ./check_raid.pl line 2491.
Use of uninitialized value in pattern match (m//) at ./check_raid.pl line 2493.
Use of uninitialized value in hash element at ./check_raid.pl line 2498.
Use of uninitialized value in pattern match (m//) at ./check_raid.pl line 2489.
Use of uninitialized value in string eq at ./check_raid.pl line 2491.
Use of uninitialized value in pattern match (m//) at ./check_raid.pl line 2493.
Use of uninitialized value in hash element at ./check_raid.pl line 2498.
Use of uninitialized value in pattern match (m//) at ./check_raid.pl line 2489.
Use of uninitialized value in string eq at ./check_raid.pl line 2491.
Use of uninitialized value in pattern match (m//) at ./check_raid.pl line 2493.
Use of uninitialized value in hash element at ./check_raid.pl line 2498.
Use of uninitialized value in pattern match (m//) at ./check_raid.pl line 2489.
Use of uninitialized value in string eq at ./check_raid.pl line 2491.
Use of uninitialized value in pattern match (m//) at ./check_raid.pl line 2493.
Use of uninitialized value in hash element at ./check_raid.pl line 2498.
Use of uninitialized value in string eq at ./check_raid.pl line 2491.
Use of uninitialized value in pattern match (m//) at ./check_raid.pl line 2493.
Use of uninitialized value in hash element at ./check_raid.pl line 2498.
Use of uninitialized value $s[0] in join or string at ./check_raid.pl line 281.
Use of uninitialized value $s[1] in join or string at ./check_raid.pl line 281.
Use of uninitialized value $s[2] in join or string at ./check_raid.pl line 281.
Use of uninitialized value $s[3] in join or string at ./check_raid.pl line 281.
Use of uninitialized value $s[4] in join or string at ./check_raid.pl line 281.
CRITICAL: arcconf:[Controller:Optimal, Logical Device 0(RAID):Optimal, Drives: ,,,,= 3KS5ABTV0000970648ZZ,3KS5SD1P00009718B64U=Online]

I propose (and wrote) a fix that incorporates the channel number. If channel nr is not mentioned, it will be zero.

@glensc
Copy link
Owner

glensc commented Mar 11, 2014

duplicate of #68

@glensc glensc closed this as completed Mar 11, 2014
@glensc glensc added this to the 3.0.6 milestone Mar 11, 2014
glensc added a commit that referenced this issue Mar 11, 2014
Fixed parsing of channel information. #67, #68
@glensc glensc added the arcconf label Sep 8, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants