Skip to content

Commit 697e7a5

Browse files
OpTestKernelDump: Properly deactivate console after monitoring
Problem: - Console monitoring thread kept console active after completion - Active console blocked SSH login to LPAR - System showed login prompt but SSH couldn't connect Solution: - Added proper cleanup in monitor_console_thread finally block - Close console pty connection - Call console.deactivate_lpar_console() to run rmvterm - This releases the console and allows SSH to work The console is now properly deactivated after monitoring completes, allowing SSH-based operations to proceed normally. Signed-off-by: Praveen K Pandey <praveen@linux.vnet.ibm.com>
1 parent bb76d49 commit 697e7a5

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

testcases/OpTestKernelDump.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ def monitor_console_thread(hmc_obj, stop_event, log_prefix="console"):
9898
:param log_prefix: Prefix for log messages
9999
"""
100100
console_pty = None
101+
console = None
101102
try:
102103
log.info(f"[{log_prefix}] Starting console monitoring thread")
103104

@@ -125,16 +126,27 @@ def monitor_console_thread(hmc_obj, stop_event, log_prefix="console"):
125126
# Timeout or other error - continue monitoring
126127
pass
127128

128-
log.info(f"[{log_prefix}] Console monitoring stopped")
129+
log.info(f"[{log_prefix}] Console monitoring stopped - cleaning up")
129130

130131
except Exception as e:
131132
log.warning(f"[{log_prefix}] Console monitoring error: {e}")
132133
finally:
134+
# Properly close and deactivate console to allow SSH login
133135
if console_pty:
134136
try:
137+
log.info(f"[{log_prefix}] Closing console connection")
135138
console_pty.close()
136-
except Exception:
137-
pass
139+
except Exception as e:
140+
log.debug(f"[{log_prefix}] Error closing console pty: {e}")
141+
142+
if console:
143+
try:
144+
log.info(f"[{log_prefix}] Deactivating LPAR console")
145+
console.deactivate_lpar_console()
146+
except Exception as e:
147+
log.debug(f"[{log_prefix}] Error deactivating console: {e}")
148+
149+
log.info(f"[{log_prefix}] Console cleanup complete")
138150

139151

140152
class OptestKernelDump(unittest.TestCase):

0 commit comments

Comments
 (0)