@@ -468,6 +468,15 @@ fn check_dependencies(sh: &Shell) -> Result<()> {
468468 Ok ( ( ) )
469469}
470470
471+ const COMMON_INST_ARGS : & [ & str ] = & [
472+ // We don't use cloud-init with bcvk right now, but it needs to be there for
473+ // testing-farm+tmt
474+ "--karg=ds=iid-datasource-none" ,
475+ // TODO: Pass down the Secure Boot keys for tests if present
476+ "--firmware=uefi-insecure" ,
477+ "--label=bootc.test=1" ,
478+ ] ;
479+
471480/// Run TMT tests using bcvk for VM management
472481/// This spawns a separate VM per test plan to avoid state leakage between tests.
473482///
@@ -482,7 +491,11 @@ fn run_tmt(sh: &Shell, args: &[String]) -> Result<()> {
482491
483492 // Check for --preserve-vm flag
484493 let preserve_vm = args. iter ( ) . any ( |arg| arg == "--preserve-vm" ) ;
485- let args: Vec < String > = args. iter ( ) . filter ( |arg| * arg != "--preserve-vm" ) . cloned ( ) . collect ( ) ;
494+ let args: Vec < String > = args
495+ . iter ( )
496+ . filter ( |arg| * arg != "--preserve-vm" )
497+ . cloned ( )
498+ . collect ( ) ;
486499
487500 // First arg is the image name, remaining args are test plan filters
488501 if args. is_empty ( ) {
@@ -566,10 +579,13 @@ fn run_tmt(sh: &Shell, args: &[String]) -> Result<()> {
566579 println ! ( "========================================\n " ) ;
567580
568581 // Launch VM with bcvk
569- // Use ds=iid-datasource-none to disable cloud-init for faster boot
570- let launch_result = cmd ! ( sh, "bcvk libvirt run --name {vm_name} --detach --filesystem ext4 --karg=ds=iid-datasource-none {image}" )
571- . run ( )
572- . context ( "Launching VM with bcvk" ) ;
582+
583+ let launch_result = cmd ! (
584+ sh,
585+ "bcvk libvirt run --name {vm_name} --detach {COMMON_INST_ARGS...} {image}"
586+ )
587+ . run ( )
588+ . context ( "Launching VM with bcvk" ) ;
573589
574590 if let Err ( e) = launch_result {
575591 eprintln ! ( "Failed to launch VM for plan {}: {:#}" , plan, e) ;
@@ -710,7 +726,10 @@ fn run_tmt(sh: &Shell, args: &[String]) -> Result<()> {
710726 println ! ( "SSH port: {}" , ssh_port_str) ;
711727 println ! ( "SSH key: {}" , persistent_key_path) ;
712728 println ! ( "\n To connect via SSH:" ) ;
713- println ! ( " ssh -i {} -p {} -o IdentitiesOnly=yes root@localhost" , persistent_key_path, ssh_port_str) ;
729+ println ! (
730+ " ssh -i {} -p {} -o IdentitiesOnly=yes root@localhost" ,
731+ persistent_key_path, ssh_port_str
732+ ) ;
714733 println ! ( "\n To cleanup:" ) ;
715734 println ! ( " bcvk libvirt rm --stop --force {}" , vm_name) ;
716735 println ! ( "========================================\n " ) ;
@@ -772,9 +791,12 @@ fn tmt_provision(sh: &Shell, args: &[String]) -> Result<()> {
772791
773792 // Launch VM with bcvk
774793 // Use ds=iid-datasource-none to disable cloud-init for faster boot
775- cmd ! ( sh, "bcvk libvirt run --name {vm_name} --detach --filesystem ext4 --karg=ds=iid-datasource-none {image}" )
776- . run ( )
777- . context ( "Launching VM with bcvk" ) ?;
794+ cmd ! (
795+ sh,
796+ "bcvk libvirt run --name {vm_name} --detach {COMMON_INST_ARGS...} {image}"
797+ )
798+ . run ( )
799+ . context ( "Launching VM with bcvk" ) ?;
778800
779801 println ! ( "VM launched, waiting for SSH..." ) ;
780802
@@ -787,8 +809,7 @@ fn tmt_provision(sh: &Shell, args: &[String]) -> Result<()> {
787809 . context ( "Creating target directory" ) ?;
788810 let key_path = key_dir. join ( format ! ( "{}.ssh-key" , vm_name) ) ;
789811
790- std:: fs:: write ( & key_path, ssh_key)
791- . context ( "Writing SSH key file" ) ?;
812+ std:: fs:: write ( & key_path, ssh_key) . context ( "Writing SSH key file" ) ?;
792813
793814 // Set proper permissions on key file (0600)
794815 #[ cfg( unix) ]
@@ -815,7 +836,10 @@ fn tmt_provision(sh: &Shell, args: &[String]) -> Result<()> {
815836 println ! ( " --user root --key {} \\ " , key_path) ;
816837 println ! ( " plan --name <PLAN_NAME>" ) ;
817838 println ! ( "\n To connect via SSH:" ) ;
818- println ! ( " ssh -i {} -p {} -o IdentitiesOnly=yes root@localhost" , key_path, ssh_port) ;
839+ println ! (
840+ " ssh -i {} -p {} -o IdentitiesOnly=yes root@localhost" ,
841+ key_path, ssh_port
842+ ) ;
819843 println ! ( "\n To cleanup:" ) ;
820844 println ! ( " bcvk libvirt rm --stop --force {}" , vm_name) ;
821845 println ! ( "========================================\n " ) ;
0 commit comments