@@ -656,7 +656,7 @@ def postprocess_vm(test, params, env, name):
656656
657657 if kernel_extra_params_add or kernel_extra_params_remove :
658658 # VM might be brought down after test
659- if vm and not vm .is_alive ():
659+ if not vm .is_alive ():
660660 if params .get ("vm_type" ) == "libvirt" :
661661 vm .start ()
662662 elif params .get ("vm_type" ) == "qemu" :
@@ -671,40 +671,45 @@ def postprocess_vm(test, params, env, name):
671671 if params .get ("vm_extra_dump_paths" ) is not None :
672672 # even if there is previously existing session we cannot guarantee its state
673673 # is viable, e.g. it may be in python .env or SMTP sub-session, etc.
674- session = vm .wait_for_login (timeout = vm .LOGIN_WAIT_TIMEOUT )
675- vm_extra_dumps = os .path .join (test .outputdir , "vm_extra_dumps" )
676- if not os .path .exists (vm_extra_dumps ):
677- os .makedirs (vm_extra_dumps )
678- for i , dump_path in enumerate (
679- params .get_list ("vm_extra_dump_paths" , delimiter = ";" )
680- ):
681- try :
682- vm .copy_files_from (dump_path , vm_extra_dumps )
683- except :
684- LOG .error (
685- "Could not copy the extra dump '%s' from the vm '%s'" ,
686- dump_path ,
687- vm .name ,
688- )
689- if params .get_boolean (f"verify_vm_extra_dump_{ i } " ):
690- for message in params .get_list (
691- f"expected_vm_extra_dump_{ i } " , delimiter = ";"
692- ):
693- LOG .info (f"Checking for expected message in { dump_path } " )
694- if not ops .grep (
695- session , message , dump_path , check = True , flags = "-aP"
674+ if not vm .is_alive ():
675+ LOG .warning ("VM is not alive so we cannot download extra dump paths" )
676+ else :
677+ session = vm .wait_for_login (timeout = vm .LOGIN_WAIT_TIMEOUT )
678+ vm_extra_dumps = os .path .join (test .outputdir , "vm_extra_dumps" )
679+ if not os .path .exists (vm_extra_dumps ):
680+ os .makedirs (vm_extra_dumps )
681+ for i , dump_path in enumerate (
682+ params .get_list ("vm_extra_dump_paths" , delimiter = ";" )
683+ ):
684+ try :
685+ vm .copy_files_from (dump_path , vm_extra_dumps )
686+ except :
687+ LOG .error (
688+ "Could not copy the extra dump '%s' from the vm '%s'" ,
689+ dump_path ,
690+ vm .name ,
691+ )
692+ if params .get_boolean (f"verify_vm_extra_dump_{ i } " ):
693+ for message in params .get_list (
694+ f"expected_vm_extra_dump_{ i } " , delimiter = ";"
696695 ):
697- raise exceptions .TestFail (
698- f"Missing expected message '{ message } ' in { vm .name } extra dump { dump_path } "
699- )
700- for message in params .get_list (
701- f"unexpected_vm_extra_dump_{ i } " , delimiter = ";"
702- ):
703- LOG .info (f"Checking for unexpected message in { dump_path } " )
704- if ops .grep (session , message , dump_path , check = True , flags = "-aP" ):
705- raise exceptions .TestFail (
706- f"Redundant unexpected message '{ message } ' in { vm .name } extra dump { dump_path } "
707- )
696+ LOG .info (f"Checking for expected message in { dump_path } " )
697+ if not ops .grep (
698+ session , message , dump_path , check = True , flags = "-aP"
699+ ):
700+ raise exceptions .TestFail (
701+ f"Missing expected message '{ message } ' in { vm .name } extra dump { dump_path } "
702+ )
703+ for message in params .get_list (
704+ f"unexpected_vm_extra_dump_{ i } " , delimiter = ";"
705+ ):
706+ LOG .info (f"Checking for unexpected message in { dump_path } " )
707+ if ops .grep (
708+ session , message , dump_path , check = True , flags = "-aP"
709+ ):
710+ raise exceptions .TestFail (
711+ f"Redundant unexpected message '{ message } ' in { vm .name } extra dump { dump_path } "
712+ )
708713
709714 # Close all SSH sessions that might be active to this VM
710715 for s in vm .remote_sessions [:]:
0 commit comments