diff options
author | Phil Wise <phil@advancedtelematic.com> | 2017-11-16 11:01:25 +0100 |
---|---|---|
committer | Phil Wise <phil@advancedtelematic.com> | 2017-11-16 11:07:49 +0100 |
commit | 24e5a6d45886365cecce74c2c9aa1cfd8c0da69a (patch) | |
tree | 2c296be453e262a347d4914d2359e7e298c1f3e2 /scripts/qemucommand.py | |
parent | 0b1fd4b3c456a64e40a7ff1125f005c0b72eafd8 (diff) | |
download | meta-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.py | 11 |
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 | |||
2 | from os import listdir | 2 | from os import listdir |
3 | import random | 3 | import random |
4 | import socket | 4 | import socket |
5 | from subprocess import check_output, CalledProcessError | ||
5 | 6 | ||
6 | EXTENSIONS = { | 7 | EXTENSIONS = { |
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 |