Python exception encountered when running powervault_monitor.py script to capture storage logs

book

Article ID: 211081

calendar_today

Updated On:

Products

Security Analytics

Issue/Introduction

With the new Dell Seagate storage (ME4), you may encounter the following error when running the powervault_monitor.py script to generate a log bundle.  

 

Using Passed Connection Details
Connecting to https://1.1.1.1
Session Established with https://1.1.1.1
Gathering Support Bundle
Connecting to powervault unit through sftp ...
Traceback (most recent call last):
File "/usr/local/sbin/powervault_monitor.py", line 389, in <module>
main()
File "/usr/local/sbin/powervault_monitor.py", line 370, in main
sgm.gather_powervault_support_bundle()
File "/usr/local/sbin/powervault_monitor.py", line 78, in gather_powervault_support_bundle
child.expect ('Password:')
File "/usr/lib/python2.7/site-packages/pexpect.py", line 1311, in expect
return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
File "/usr/lib/python2.7/site-packages/pexpect.py", line 1325, in expect_list
return self.expect_loop(searcher_re(pattern_list), timeout, searchwindowsize)
File "/usr/lib/python2.7/site-packages/pexpect.py", line 1396, in expect_loop
raise EOF (str(e) + '\n' + str(self))
pexpect.EOF: End Of File (EOF) in read_nonblocking(). Exception style platform.
<pexpect.spawn object at 0x7fffea6bce90>
version: 2.3 ($Revision: 399 $)
command: /usr/bin/sftp
args: ['/usr/bin/sftp', '-P', '1022', '[email protected]']
searcher: searcher_re:
0: re.compile("Password:")
buffer (last 100 chars):
before (last 100 chars): group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512
Connection closed.
after: <class 'pexpect.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 56381
child_fd: 3
closed: False
timeout: 30
delimiter: <class 'pexpect.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1

Cause

This is caused by a conflict between python version 2 and version 3.

Environment

This affects Security Analytics version 8.1.3 and 8.2.1

Resolution

You can generate the storage log bundles manually using the following SFTP commands:

1. sftp -o 'KexAlgorithms diffie-hellman-group16-sha512' -P 1022 <username>@<IPaddress>
2. Enter password at "Password: " prompt
3. Enter " get logs <desired file name>" at "sftp>" prompt. The space before "get" is important.

This should be resolved in Security Analytics version 8.2.3 and greater.