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