From ba1b0f17a187a43b3b6f44b08617e6d004715d69 Mon Sep 17 00:00:00 2001 From: Francesc Guasch Date: Thu, 4 Jul 2024 12:42:03 +0200 Subject: [PATCH] feat: new template mediated dev no display (#2066) --- lib/Ravada/HostDevice/Templates.pm | 28 +++++++++++++++++++++++++++- t/device/40_mediated_device.t | 4 ++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/lib/Ravada/HostDevice/Templates.pm b/lib/Ravada/HostDevice/Templates.pm index 027e7c68a..ad190b5f5 100644 --- a/lib/Ravada/HostDevice/Templates.pm +++ b/lib/Ravada/HostDevice/Templates.pm @@ -133,7 +133,7 @@ our @TEMPLATES_KVM = ( # , - { name => "GPU Mediated Device" + { name => "GPU Mediated Device (display)" ,list_command => "mdevctl list" ,list_filter => '.*' ,template_args => encode_json( @@ -157,6 +157,32 @@ our @TEMPLATES_KVM = ( } ] } + , + { name => "GPU Mediated Device (no display)" + ,list_command => "mdevctl list" + ,list_filter => '.*' + ,template_args => encode_json( + { uuid => '^(.*?) '} + ) + ,templates => [{ + path => '/domain/devices/hostdev' + ,template => + " + +
+ +
+ " + } + ,{ + path => '/domain/features/kvm' + ,type => 'unique_node' + ,template => "" + + } + ] + } + ); our @TEMPLATES_VOID = ( diff --git a/t/device/40_mediated_device.t b/t/device/40_mediated_device.t index 295c26afc..3d128da58 100644 --- a/t/device/40_mediated_device.t +++ b/t/device/40_mediated_device.t @@ -120,7 +120,7 @@ sub _req_shutdown($domain) { sub test_mdev($vm) { my $templates = Ravada::HostDevice::Templates::list_templates($vm->id); - my ($mdev) = grep { $_->{name} eq "GPU Mediated Device" } @$templates; + my ($mdev) = grep { $_->{name} =~ /GPU Mediated Device/ } @$templates; ok($mdev,"Expecting PCI template in ".$vm->name) or return; my $id = $vm->add_host_device(template => $mdev->{name}); @@ -383,7 +383,7 @@ sub _add_template_timer($hd) { sub test_mdev_kvm_state($vm) { my $templates = Ravada::HostDevice::Templates::list_templates($vm->id); - my ($mdev) = grep { $_->{name} eq "GPU Mediated Device" } @$templates; + my ($mdev) = grep { $_->{name} =~ /GPU Mediated Device/ } @$templates; ok($mdev,"Expecting PCI template in ".$vm->name) or return; my $id = $vm->add_host_device(template => $mdev->{name});