From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 56242BBC3 for ; Fri, 25 Nov 2022 15:10:00 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 30F3E1D07A for ; Fri, 25 Nov 2022 15:09:30 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Fri, 25 Nov 2022 15:09:26 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 0E08A44C86 for ; Fri, 25 Nov 2022 15:09:26 +0100 (CET) From: Markus Frank To: pve-devel@lists.proxmox.com Date: Fri, 25 Nov 2022 15:08:55 +0100 Message-Id: <20221125140857.121622-4-m.frank@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221125140857.121622-1-m.frank@proxmox.com> References: <20221125140857.121622-1-m.frank@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.041 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH qemu-server v4 3/5] added test-cases for new machine-syntax & viommu X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Nov 2022 14:10:00 -0000 added a few test-cases to test the new machine parameter with viommu Signed-off-by: Markus Frank --- test/cfg2cmd/viommu.conf | 1 + test/cfg2cmd/viommu.conf.cmd | 23 ++++++++ test/restore-config-expected/401.conf | 14 +++++ test/restore-config-expected/402.conf | 14 +++++ test/restore-config-input/401.conf | 14 +++++ test/restore-config-input/402.conf | 14 +++++ test/run_qemu_restore_config_tests.pl | 2 +- .../create/qemu-server/401.conf | 32 +++++++++++ .../create/qemu-server/402.conf | 53 +++++++++++++++++++ .../create/qemu-server/401.conf | 14 +++++ .../create/qemu-server/402.conf | 33 ++++++++++++ test/snapshot-test.pm | 6 +++ 12 files changed, 219 insertions(+), 1 deletion(-) create mode 100644 test/cfg2cmd/viommu.conf create mode 100644 test/cfg2cmd/viommu.conf.cmd create mode 100644 test/restore-config-expected/401.conf create mode 100644 test/restore-config-expected/402.conf create mode 100644 test/restore-config-input/401.conf create mode 100644 test/restore-config-input/402.conf create mode 100644 test/snapshot-expected/create/qemu-server/401.conf create mode 100644 test/snapshot-expected/create/qemu-server/402.conf create mode 100644 test/snapshot-input/create/qemu-server/401.conf create mode 100644 test/snapshot-input/create/qemu-server/402.conf diff --git a/test/cfg2cmd/viommu.conf b/test/cfg2cmd/viommu.conf new file mode 100644 index 0000000..6925a74 --- /dev/null +++ b/test/cfg2cmd/viommu.conf @@ -0,0 +1 @@ +machine: type=q35,viommu=1 diff --git a/test/cfg2cmd/viommu.conf.cmd b/test/cfg2cmd/viommu.conf.cmd new file mode 100644 index 0000000..24e873d --- /dev/null +++ b/test/cfg2cmd/viommu.conf.cmd @@ -0,0 +1,23 @@ +/usr/bin/kvm \ + -id 8006 \ + -name 'vm8006,debug-threads=on' \ + -no-shutdown \ + -chardev 'socket,id=qmp,path=/var/run/qemu-server/8006.qmp,server=on,wait=off' \ + -mon 'chardev=qmp,mode=control' \ + -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' \ + -mon 'chardev=qmp-event,mode=control' \ + -pidfile /var/run/qemu-server/8006.pid \ + -daemonize \ + -smp '1,sockets=1,cores=1,maxcpus=1' \ + -nodefaults \ + -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' \ + -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \ + -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \ + -m 512 \ + -device 'intel-iommu,intremap=on,caching-mode=on' \ + -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \ + -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \ + -device 'VGA,id=vga,bus=pcie.0,addr=0x1' \ + -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \ + -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \ + -machine 'type=q35+pve0,kernel-irqchip=split' diff --git a/test/restore-config-expected/401.conf b/test/restore-config-expected/401.conf new file mode 100644 index 0000000..9400351 --- /dev/null +++ b/test/restore-config-expected/401.conf @@ -0,0 +1,14 @@ +bootdisk: scsi0 +cores: 1 +ide2: none,media=cdrom +memory: 512 +machine: q35,viommu=1 +name: apache +net0: virtio=92:38:11:FD:ED:87,bridge=vmbr0,firewall=1 +numa: 0 +ostype: l26 +scsi0: target:401/vm-401-disk-0.qcow2,size=4G +scsihw: virtio-scsi-pci +smbios1: uuid=ddf91b3f-a597-42be-9a7e-fb6421dcd5cd +sockets: 1 +vmgenid: 0 diff --git a/test/restore-config-expected/402.conf b/test/restore-config-expected/402.conf new file mode 100644 index 0000000..73f69cb --- /dev/null +++ b/test/restore-config-expected/402.conf @@ -0,0 +1,14 @@ +bootdisk: scsi0 +cores: 1 +ide2: none,media=cdrom +memory: 512 +machine: type=q35,viommu=1 +name: apache +net0: virtio=92:38:11:FD:ED:87,bridge=vmbr0,firewall=1 +numa: 0 +ostype: l26 +scsi0: target:401/vm-402-disk-0.qcow2,size=4G +scsihw: virtio-scsi-pci +smbios1: uuid=ddf91b3f-a597-42be-9a7e-fb6421dcd5cd +sockets: 1 +vmgenid: 0 diff --git a/test/restore-config-input/401.conf b/test/restore-config-input/401.conf new file mode 100644 index 0000000..9400351 --- /dev/null +++ b/test/restore-config-input/401.conf @@ -0,0 +1,14 @@ +bootdisk: scsi0 +cores: 1 +ide2: none,media=cdrom +memory: 512 +machine: q35,viommu=1 +name: apache +net0: virtio=92:38:11:FD:ED:87,bridge=vmbr0,firewall=1 +numa: 0 +ostype: l26 +scsi0: target:401/vm-401-disk-0.qcow2,size=4G +scsihw: virtio-scsi-pci +smbios1: uuid=ddf91b3f-a597-42be-9a7e-fb6421dcd5cd +sockets: 1 +vmgenid: 0 diff --git a/test/restore-config-input/402.conf b/test/restore-config-input/402.conf new file mode 100644 index 0000000..73f69cb --- /dev/null +++ b/test/restore-config-input/402.conf @@ -0,0 +1,14 @@ +bootdisk: scsi0 +cores: 1 +ide2: none,media=cdrom +memory: 512 +machine: type=q35,viommu=1 +name: apache +net0: virtio=92:38:11:FD:ED:87,bridge=vmbr0,firewall=1 +numa: 0 +ostype: l26 +scsi0: target:401/vm-402-disk-0.qcow2,size=4G +scsihw: virtio-scsi-pci +smbios1: uuid=ddf91b3f-a597-42be-9a7e-fb6421dcd5cd +sockets: 1 +vmgenid: 0 diff --git a/test/run_qemu_restore_config_tests.pl b/test/run_qemu_restore_config_tests.pl index 1e1e807..2221abe 100755 --- a/test/run_qemu_restore_config_tests.pl +++ b/test/run_qemu_restore_config_tests.pl @@ -25,7 +25,7 @@ $pve_cluster_module->mock( ); # NOTE update when you add/remove tests -plan tests => 4; +plan tests => 6; my $cfs_mock = Test::MockModule->new("PVE::Cluster"); $cfs_mock->mock( diff --git a/test/snapshot-expected/create/qemu-server/401.conf b/test/snapshot-expected/create/qemu-server/401.conf new file mode 100644 index 0000000..56cb71c --- /dev/null +++ b/test/snapshot-expected/create/qemu-server/401.conf @@ -0,0 +1,32 @@ +bootdisk: ide0 +cores: 4 +ide0: local:snapshotable-disk-1,discard=on,size=32G +ide2: none,media=cdrom +machine: q35,viommu=1 +memory: 8192 +name: win +net0: e1000=12:34:56:78:90:12,bridge=somebr0,firewall=1 +numa: 0 +ostype: win7 +parent: test +smbios1: uuid=01234567-890a-bcde-f012-34567890abcd +sockets: 1 +vga: qxl + +[test] +#test comment +bootdisk: ide0 +cores: 4 +ide0: local:snapshotable-disk-1,discard=on,size=32G +ide2: none,media=cdrom +machine: q35,viommu=1 +memory: 8192 +name: win +net0: e1000=12:34:56:78:90:12,bridge=somebr0,firewall=1 +numa: 0 +ostype: win7 +parent: test +smbios1: uuid=01234567-890a-bcde-f012-34567890abcd +snaptime: 1234567890 +sockets: 1 +vga: qxl diff --git a/test/snapshot-expected/create/qemu-server/402.conf b/test/snapshot-expected/create/qemu-server/402.conf new file mode 100644 index 0000000..ac485ce --- /dev/null +++ b/test/snapshot-expected/create/qemu-server/402.conf @@ -0,0 +1,53 @@ +agent: 1 +bootdisk: ide0 +cores: 4 +ide0: local:snapshotable-disk-1,discard=on,size=32G +ide2: none,media=cdrom +memory: 8192 +name: win +net0: e1000=12:34:56:78:90:12,bridge=somebr0,firewall=1 +numa: 0 +ostype: win7 +parent: test2 +smbios1: uuid=01234567-890a-bcde-f012-34567890abcd +sockets: 1 +vga: qxl + +[test] +#test comment +agent: 1 +bootdisk: ide0 +cores: 4 +ide0: local:snapshotable-disk-1,discard=on,size=32G +ide2: none,media=cdrom +machine: q35,viommu=1 +memory: 8192 +name: win +net0: e1000=12:34:56:78:90:12,bridge=somebr0,firewall=1 +numa: 0 +ostype: win7 +smbios1: uuid=01234567-890a-bcde-f012-34567890abcd +snaptime: 1234567890 +sockets: 1 +vga: qxl +vmstate: somestorage:state-volume + +[test2] +#test comment +agent: 1 +bootdisk: ide0 +cores: 4 +ide0: local:snapshotable-disk-1,discard=on,size=32G +ide2: none,media=cdrom +memory: 8192 +name: win +net0: e1000=12:34:56:78:90:12,bridge=somebr0,firewall=1 +numa: 0 +ostype: win7 +parent: test +runningmachine: q35 +smbios1: uuid=01234567-890a-bcde-f012-34567890abcd +snaptime: 1234567890 +sockets: 1 +vga: qxl +vmstate: somestorage:state-volume diff --git a/test/snapshot-input/create/qemu-server/401.conf b/test/snapshot-input/create/qemu-server/401.conf new file mode 100644 index 0000000..8feec27 --- /dev/null +++ b/test/snapshot-input/create/qemu-server/401.conf @@ -0,0 +1,14 @@ +bootdisk: ide0 +cores: 4 +ide0: local:snapshotable-disk-1,discard=on,size=32G +ide2: none,media=cdrom +machine: q35,viommu=1 +memory: 8192 +name: win +net0: e1000=12:34:56:78:90:12,bridge=somebr0,firewall=1 +numa: 0 +ostype: win7 +parent: test +smbios1: uuid=01234567-890a-bcde-f012-34567890abcd +sockets: 1 +vga: qxl diff --git a/test/snapshot-input/create/qemu-server/402.conf b/test/snapshot-input/create/qemu-server/402.conf new file mode 100644 index 0000000..72f89ce --- /dev/null +++ b/test/snapshot-input/create/qemu-server/402.conf @@ -0,0 +1,33 @@ +agent: 1 +bootdisk: ide0 +cores: 4 +ide0: local:snapshotable-disk-1,discard=on,size=32G +ide2: none,media=cdrom +memory: 8192 +name: win +net0: e1000=12:34:56:78:90:12,bridge=somebr0,firewall=1 +numa: 0 +ostype: win7 +parent: test +smbios1: uuid=01234567-890a-bcde-f012-34567890abcd +sockets: 1 +vga: qxl + +[test] +#test comment +agent: 1 +bootdisk: ide0 +cores: 4 +ide0: local:snapshotable-disk-1,discard=on,size=32G +ide2: none,media=cdrom +machine: q35,viommu=1 +memory: 8192 +name: win +net0: e1000=12:34:56:78:90:12,bridge=somebr0,firewall=1 +numa: 0 +ostype: win7 +smbios1: uuid=01234567-890a-bcde-f012-34567890abcd +snaptime: 1234567890 +sockets: 1 +vga: qxl +vmstate: somestorage:state-volume diff --git a/test/snapshot-test.pm b/test/snapshot-test.pm index 50c5857..3fcb0eb 100644 --- a/test/snapshot-test.pm +++ b/test/snapshot-test.pm @@ -566,6 +566,12 @@ $vm_mon->{savevm_start} = 1; printf("Successful snapshot_create with no existing snapshots but set machine type\n"); testcase_create("301", "test", 1, "test comment", "", { "local:snapshotable-disk-1" => "test" }); +printf("Successful snapshot_create with viommu enabled\n"); +testcase_create("401", "test", 0, "test comment", "", { "local:snapshotable-disk-1" => "test" }); + +printf("Successful snapshot_create with viommu enabled and with one existing snapshots including vmstate\n"); +testcase_create("402", "test2", 1, "test comment", "", { "local:snapshotable-disk-1" => "test2" }); + $activate_storage_possible = 0; printf("Expected error for snapshot_create when storage activation is not possible\n"); -- 2.30.2