Merge branch 'fixes-20171019'
* fixes-20171019: tools: fix handling qvm-run --no-autostart backup: improve migrating templates from Qubes 3.x
This commit is contained in:
commit
7f269770d5
@ -302,6 +302,11 @@ class Core2Qubes(qubesadmin.backup.BackupApp):
|
|||||||
vm.properties['provides_network'] = True
|
vm.properties['provides_network'] = True
|
||||||
if vm_class_name == 'QubesNetVm':
|
if vm_class_name == 'QubesNetVm':
|
||||||
vm.properties['netvm'] = None
|
vm.properties['netvm'] = None
|
||||||
|
if vm_class_name == 'QubesTemplateVm' or \
|
||||||
|
(vm_class_name == 'QubesAppVm' and vm.template is None):
|
||||||
|
# PV VMs in Qubes 3.x assumed gui-agent and qrexec-agent installed
|
||||||
|
vm.features['qrexec'] = True
|
||||||
|
vm.features['gui'] = True
|
||||||
if element.get('internal', False) == 'True':
|
if element.get('internal', False) == 'True':
|
||||||
vm.features['internal'] = True
|
vm.features['internal'] = True
|
||||||
|
|
||||||
|
@ -159,7 +159,11 @@ parsed_qubes_xml_r2 = {
|
|||||||
},
|
},
|
||||||
'devices': {},
|
'devices': {},
|
||||||
'tags': set(),
|
'tags': set(),
|
||||||
'features': {'service.meminfo-writer': True},
|
'features': {
|
||||||
|
'service.meminfo-writer': True,
|
||||||
|
'qrexec': True,
|
||||||
|
'gui': True,
|
||||||
|
},
|
||||||
'template': None,
|
'template': None,
|
||||||
'backup_path': None,
|
'backup_path': None,
|
||||||
'included_in_backup': False,
|
'included_in_backup': False,
|
||||||
@ -320,7 +324,11 @@ parsed_qubes_xml_r2 = {
|
|||||||
'properties': {'virt_mode': 'pv', 'maxmem': '1535'},
|
'properties': {'virt_mode': 'pv', 'maxmem': '1535'},
|
||||||
'devices': {},
|
'devices': {},
|
||||||
'tags': set(),
|
'tags': set(),
|
||||||
'features': {'service.meminfo-writer': True},
|
'features': {
|
||||||
|
'service.meminfo-writer': True,
|
||||||
|
'qrexec': True,
|
||||||
|
'gui': True,
|
||||||
|
},
|
||||||
'template': None,
|
'template': None,
|
||||||
'backup_path': 'vm-templates/test-template-clone',
|
'backup_path': 'vm-templates/test-template-clone',
|
||||||
'included_in_backup': True,
|
'included_in_backup': True,
|
||||||
@ -343,7 +351,11 @@ parsed_qubes_xml_r2 = {
|
|||||||
'properties': {'virt_mode': 'pv', 'maxmem': '1535'},
|
'properties': {'virt_mode': 'pv', 'maxmem': '1535'},
|
||||||
'devices': {},
|
'devices': {},
|
||||||
'tags': set(),
|
'tags': set(),
|
||||||
'features': {'service.meminfo-writer': True},
|
'features': {
|
||||||
|
'service.meminfo-writer': True,
|
||||||
|
'qrexec': True,
|
||||||
|
'gui': True,
|
||||||
|
},
|
||||||
'template': None,
|
'template': None,
|
||||||
'backup_path': 'appvms/test-standalonevm',
|
'backup_path': 'appvms/test-standalonevm',
|
||||||
'included_in_backup': True,
|
'included_in_backup': True,
|
||||||
|
@ -404,3 +404,19 @@ class TC_00_qvm_run(qubesadmin.tests.QubesTestCase):
|
|||||||
('test-vm', 'qubes.VMShell', b'command; exit\n'),
|
('test-vm', 'qubes.VMShell', b'command; exit\n'),
|
||||||
])
|
])
|
||||||
self.assertAllCalled()
|
self.assertAllCalled()
|
||||||
|
|
||||||
|
def test_013_no_autostart(self):
|
||||||
|
self.app.expected_calls[
|
||||||
|
('dom0', 'admin.vm.List', None, None)] = \
|
||||||
|
b'0\x00test-vm class=AppVM state=Running\n' \
|
||||||
|
b'test-vm2 class=AppVM state=Running\n' \
|
||||||
|
b'test-vm3 class=AppVM state=Halted\n'
|
||||||
|
self.app.expected_calls[
|
||||||
|
('test-vm3', 'admin.vm.List', None, None)] = \
|
||||||
|
b'0\x00test-vm3 class=AppVM state=Halted\n'
|
||||||
|
ret = qubesadmin.tools.qvm_run.main(
|
||||||
|
['--no-gui', '--no-autostart', 'test-vm3', 'command'],
|
||||||
|
app=self.app)
|
||||||
|
self.assertEqual(ret, 0)
|
||||||
|
self.assertEqual(self.app.service_calls, [])
|
||||||
|
self.assertAllCalled()
|
||||||
|
@ -41,7 +41,7 @@ parser.add_argument('--autostart', '--auto', '-a',
|
|||||||
help='option ignored, this is default')
|
help='option ignored, this is default')
|
||||||
|
|
||||||
parser.add_argument('--no-autostart', '--no-auto', '-n',
|
parser.add_argument('--no-autostart', '--no-auto', '-n',
|
||||||
action='store_false',
|
action='store_false', dest='autostart',
|
||||||
help='do not autostart qube')
|
help='do not autostart qube')
|
||||||
|
|
||||||
parser.add_argument('--pass-io', '-p',
|
parser.add_argument('--pass-io', '-p',
|
||||||
|
Loading…
Reference in New Issue
Block a user