From 0e033645adf0e5b1fa4b8209570abb78a9dadd0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Fri, 29 Dec 2017 17:24:16 +0100 Subject: [PATCH] backup: restore Qubes 3.x VMs as HVMs Make use of better security of Qubes 4.x by using HVM by default. If some VMs are incompatible with it (like MirageOS based), user can always switch it to PV manually later. --- qubesadmin/backup/core2.py | 2 -- .../tests/backup/backupcompatibility.py | 22 ++++++------------- qubesadmin/tests/backup/v4-qubes.xml | 1 - 3 files changed, 7 insertions(+), 18 deletions(-) diff --git a/qubesadmin/backup/core2.py b/qubesadmin/backup/core2.py index ec23a6a..d7fae02 100644 --- a/qubesadmin/backup/core2.py +++ b/qubesadmin/backup/core2.py @@ -296,8 +296,6 @@ class Core2Qubes(qubesadmin.backup.BackupApp): # it this way, otherwise some OSes (Windows) will crash because # of substantial hardware change vm.features['linux-stubdom'] = False - else: - vm.properties['virt_mode'] = 'pv' if vm_class_name in ('QubesNetVm', 'QubesProxyVm'): vm.properties['provides_network'] = True if vm_class_name == 'QubesNetVm': diff --git a/qubesadmin/tests/backup/backupcompatibility.py b/qubesadmin/tests/backup/backupcompatibility.py index 811ce7e..9640bb2 100644 --- a/qubesadmin/tests/backup/backupcompatibility.py +++ b/qubesadmin/tests/backup/backupcompatibility.py @@ -154,7 +154,6 @@ parsed_qubes_xml_r2 = { 'klass': 'TemplateVM', 'label': 'black', 'properties': { - 'virt_mode': 'pv', 'maxmem': '1535', }, 'devices': {}, @@ -172,7 +171,6 @@ parsed_qubes_xml_r2 = { 'klass': 'AppVM', 'label': 'red', 'properties': { - 'virt_mode': 'pv', 'maxmem': '1535', 'memory': '200', 'netvm': None, @@ -197,7 +195,6 @@ parsed_qubes_xml_r2 = { 'klass': 'AppVM', 'label': 'green', 'properties': { - 'virt_mode': 'pv', 'maxmem': '1535', 'memory': '200', 'provides_network': True @@ -213,7 +210,6 @@ parsed_qubes_xml_r2 = { 'klass': 'AppVM', 'label': 'gray', 'properties': { - 'virt_mode': 'pv', 'maxmem': '1535', 'vcpus': '1' }, @@ -228,7 +224,7 @@ parsed_qubes_xml_r2 = { 'banking': { 'klass': 'AppVM', 'label': 'green', - 'properties': {'virt_mode': 'pv', 'maxmem': '1535'}, + 'properties': {'maxmem': '1535'}, 'devices': {}, 'tags': set(), 'features': {'service.meminfo-writer': True}, @@ -239,7 +235,7 @@ parsed_qubes_xml_r2 = { 'personal': { 'klass': 'AppVM', 'label': 'yellow', - 'properties': {'virt_mode': 'pv', 'maxmem': '1535'}, + 'properties': {'maxmem': '1535'}, 'devices': {}, 'tags': set(), 'features': {'service.meminfo-writer': True}, @@ -251,7 +247,6 @@ parsed_qubes_xml_r2 = { 'klass': 'AppVM', 'label': 'red', 'properties': { - 'virt_mode': 'pv', 'maxmem': '1535', 'netvm': 'test-testproxy', 'default_dispvm': 'disp-test-testproxy', @@ -267,7 +262,6 @@ parsed_qubes_xml_r2 = { 'klass': 'AppVM', 'label': 'red', 'properties': { - 'virt_mode': 'pv', 'maxmem': '1535', 'memory': '200', 'provides_network': True}, @@ -282,7 +276,6 @@ parsed_qubes_xml_r2 = { 'klass': 'AppVM', 'label': 'red', 'properties': { - 'virt_mode': 'pv', 'maxmem': '1535', 'memory': '200', 'provides_network': True}, @@ -310,7 +303,7 @@ parsed_qubes_xml_r2 = { 'test-work': { 'klass': 'AppVM', 'label': 'green', - 'properties': {'virt_mode': 'pv', 'maxmem': '1535'}, + 'properties': {'maxmem': '1535'}, 'devices': {}, 'tags': set(), 'features': {'service.meminfo-writer': True}, @@ -321,7 +314,7 @@ parsed_qubes_xml_r2 = { 'test-template-clone': { 'klass': 'TemplateVM', 'label': 'green', - 'properties': {'virt_mode': 'pv', 'maxmem': '1535'}, + 'properties': {'maxmem': '1535'}, 'devices': {}, 'tags': set(), 'features': { @@ -337,7 +330,7 @@ parsed_qubes_xml_r2 = { 'test-custom-template-appvm': { 'klass': 'AppVM', 'label': 'yellow', - 'properties': {'virt_mode': 'pv', 'maxmem': '1535'}, + 'properties': {'maxmem': '1535'}, 'devices': {}, 'tags': set(), 'features': {'service.meminfo-writer': True}, @@ -348,7 +341,7 @@ parsed_qubes_xml_r2 = { 'test-standalonevm': { 'klass': 'StandaloneVM', 'label': 'blue', - 'properties': {'virt_mode': 'pv', 'maxmem': '1535'}, + 'properties': {'maxmem': '1535'}, 'devices': {}, 'tags': set(), 'features': { @@ -364,7 +357,7 @@ parsed_qubes_xml_r2 = { 'test-net': { 'klass': 'AppVM', 'label': 'red', - 'properties': {'virt_mode': 'pv', + 'properties': { 'maxmem': '1535', 'memory': '200', 'netvm': None, @@ -606,7 +599,6 @@ parsed_qubes_xml_v4 = { 'klass': 'AppVM', 'label': 'red', 'properties': { - 'virt_mode': 'pv', 'autostart': 'True', 'maxmem': '400', 'provides_network': 'True', diff --git a/qubesadmin/tests/backup/v4-qubes.xml b/qubesadmin/tests/backup/v4-qubes.xml index 0c72d68..1481cfb 100644 --- a/qubesadmin/tests/backup/v4-qubes.xml +++ b/qubesadmin/tests/backup/v4-qubes.xml @@ -421,7 +421,6 @@ True label-1 - pv 400 sys-usb 5