summaryrefslogtreecommitdiffstats
path: root/scripts/qemucommand.py
diff options
context:
space:
mode:
authorPhil Wise <phil@advancedtelematic.com>2017-11-16 11:01:25 +0100
committerPhil Wise <phil@advancedtelematic.com>2017-11-16 11:07:49 +0100
commit24e5a6d45886365cecce74c2c9aa1cfd8c0da69a (patch)
tree2c296be453e262a347d4914d2359e7e298c1f3e2 /scripts/qemucommand.py
parent0b1fd4b3c456a64e40a7ff1125f005c0b72eafd8 (diff)
downloadmeta-updater-24e5a6d45886365cecce74c2c9aa1cfd8c0da69a.tar.gz
Autodetect KVM
Autodetect KVM by using the 'kvm-ok' command line tool. This has two benefits: Firstly, it improves the UX of run-qemu-ota when working on machines without KVM (e.g. AWS). Previously, people had to use the --no-kvm option in these cases. Secondary, it makes oe-selftest usable on machines without KVM. Our tests call run-qemu-ota, and we want to able to run them on machines without KVM.
Diffstat (limited to 'scripts/qemucommand.py')
-rw-r--r--scripts/qemucommand.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/qemucommand.py b/scripts/qemucommand.py
index a75ffb6..82a9540 100644
--- a/scripts/qemucommand.py
+++ b/scripts/qemucommand.py
@@ -2,6 +2,7 @@ from os.path import exists, join, realpath, abspath
2from os import listdir 2from os import listdir
3import random 3import random
4import socket 4import socket
5from subprocess import check_output, CalledProcessError
5 6
6EXTENSIONS = { 7EXTENSIONS = {
7 'intel-corei7-64': 'wic', 8 'intel-corei7-64': 'wic',
@@ -67,7 +68,15 @@ class QemuCommand(object):
67 self.mac_address = random_mac() 68 self.mac_address = random_mac()
68 self.serial_port = find_local_port(8990) 69 self.serial_port = find_local_port(8990)
69 self.ssh_port = find_local_port(2222) 70 self.ssh_port = find_local_port(2222)
70 self.kvm = not args.no_kvm 71 if args.kvm is None:
72 # Autodetect KVM using 'kvm-ok'
73 try:
74 check_output(['kvm-ok'])
75 self.kvm = True
76 except CalledProcessError:
77 self.kvm = False
78 else:
79 self.kvm = args.kvm
71 self.gui = not args.no_gui 80 self.gui = not args.no_gui
72 self.gdb = args.gdb 81 self.gdb = args.gdb
73 self.pcap = args.pcap 82 self.pcap = args.pcap