@@ -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///
@@ -561,10 +570,13 @@ fn run_tmt(sh: &Shell, args: &[String]) -> Result<()> {
561570 println ! ( "========================================\n " ) ;
562571
563572 // Launch VM with bcvk
564- // Use ds=iid-datasource-none to disable cloud-init for faster boot
565- let launch_result = cmd ! ( sh, "bcvk libvirt run --name {vm_name} --detach --filesystem ext4 --karg=ds=iid-datasource-none {image}" )
566- . run ( )
567- . context ( "Launching VM with bcvk" ) ;
573+
574+ let launch_result = cmd ! (
575+ sh,
576+ "bcvk libvirt run --name {vm_name} --detach {COMMON_INST_ARGS...} {image}"
577+ )
578+ . run ( )
579+ . context ( "Launching VM with bcvk" ) ;
568580
569581 if let Err ( e) = launch_result {
570582 eprintln ! ( "Failed to launch VM for plan {}: {:#}" , plan, e) ;
@@ -743,9 +755,12 @@ fn tmt_provision(sh: &Shell, args: &[String]) -> Result<()> {
743755
744756 // Launch VM with bcvk
745757 // Use ds=iid-datasource-none to disable cloud-init for faster boot
746- cmd ! ( sh, "bcvk libvirt run --name {vm_name} --detach --filesystem ext4 --karg=ds=iid-datasource-none {image}" )
747- . run ( )
748- . context ( "Launching VM with bcvk" ) ?;
758+ cmd ! (
759+ sh,
760+ "bcvk libvirt run --name {vm_name} --detach {COMMON_INST_ARGS...} {image}"
761+ )
762+ . run ( )
763+ . context ( "Launching VM with bcvk" ) ?;
749764
750765 println ! ( "VM launched, waiting for SSH..." ) ;
751766
@@ -758,8 +773,7 @@ fn tmt_provision(sh: &Shell, args: &[String]) -> Result<()> {
758773 . context ( "Creating target directory" ) ?;
759774 let key_path = key_dir. join ( format ! ( "{}.ssh-key" , vm_name) ) ;
760775
761- std:: fs:: write ( & key_path, ssh_key)
762- . context ( "Writing SSH key file" ) ?;
776+ std:: fs:: write ( & key_path, ssh_key) . context ( "Writing SSH key file" ) ?;
763777
764778 // Set proper permissions on key file (0600)
765779 #[ cfg( unix) ]
@@ -786,7 +800,10 @@ fn tmt_provision(sh: &Shell, args: &[String]) -> Result<()> {
786800 println ! ( " --user root --key {} \\ " , key_path) ;
787801 println ! ( " plan --name <PLAN_NAME>" ) ;
788802 println ! ( "\n To connect via SSH:" ) ;
789- println ! ( " ssh -i {} -p {} -o IdentitiesOnly=yes root@localhost" , key_path, ssh_port) ;
803+ println ! (
804+ " ssh -i {} -p {} -o IdentitiesOnly=yes root@localhost" ,
805+ key_path, ssh_port
806+ ) ;
790807 println ! ( "\n To cleanup:" ) ;
791808 println ! ( " bcvk libvirt rm --stop --force {}" , vm_name) ;
792809 println ! ( "========================================\n " ) ;
0 commit comments