diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/check-qemu-install | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install index 688aa556..a7c36c78 100755 --- a/scripts/check-qemu-install +++ b/scripts/check-qemu-install @@ -65,7 +65,10 @@ parser.add_argument('--silent', help='Do not show output on stdout unless an err parser.add_argument('--debug', help='Send all debug output to stdout', action='store_true', default=False) -parser.add_argument('--logfile', help='Log to file') +parser.add_argument('--logfile', help='Log to file') +parser.add_argument('--no-kvm', help='Disable use of kvm', + action='store_true', + default=False) args = parser.parse_args() @@ -99,7 +102,7 @@ log = logging.getLogger() log.setLevel(logging.DEBUG) stl = StreamToLogger(log) -formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') +formatter = logging.Formatter('%(asctime)s + %(relativeCreated)-7d - %(levelname)5s - %(message)s') handler = logging.StreamHandler(sys.stdout) if args.silent: @@ -130,6 +133,14 @@ if not os.path.isfile(args.iso): log.error("Unable to find iso image to install") sys.exit(1) +if args.no_kvm: + log.error("KVM forced off by command line") + kvm=False +elif not os.path.exists("/dev/kvm"): + log.error("KVM is not enabled on host, proceeding with software emulation") + kvm=False +else: + kvm=True # Creating diskimage!! @@ -153,12 +164,14 @@ try: -m 1G \ -nic user,model=virtio,mac=52:54:99:12:34:56,hostfwd=tcp::2299-:22 \ -machine accel=kvm \ - -cpu host -smp 2 \ + {CPU} \ + -smp 2 \ -vnc 0.0.0.0:99 \ -nographic \ -boot d -cdrom {CD} \ + {KVM} \ -drive format=raw,file={DISK} - """.format(CD=args.iso, DISK=args.disk) + """.format(CD=args.iso, DISK=args.disk, KVM="" if kvm else "--no-kvm", CPU="-cpu host" if kvm else "") log.debug("Executing command: {}".format(cmd)) c = pexpect.spawn(cmd, logfile=stl) @@ -172,7 +185,7 @@ try: log.warning("Did not find grub countdown window, ignoring") log.info('Waiting for login prompt') - c.expect('[Ll]ogin:', timeout=120) + c.expect('[Ll]ogin:', timeout=300) c.sendline('vyos') c.expect('[Pp]assword:', timeout=10) c.sendline('vyos') @@ -240,11 +253,13 @@ try: -m 1G \ -nic user,model=virtio,mac=52:54:99:12:34:56,hostfwd=tcp::2299-:22 -machine accel=kvm \ - -cpu host -smp 2 \ + {CPU} \ + -smp 2 \ -vnc 0.0.0.0:99 \ -nographic \ + {KVM} \ -drive format=raw,file={DISK} - """.format(DISK=args.disk) + """.format(DISK=args.disk, KVM="" if kvm else "--no-kvm", CPU="-cpu host" if kvm else "") log.debug('Executing command: {}'.format(cmd)) c = pexpect.spawn(cmd, logfile=stl) @@ -259,7 +274,7 @@ try: log.warning("Did not find grub countdown window, ignoring") log.info('Waiting for login prompt') - c.expect('[Ll]ogin:', timeout=120) + c.expect('[Ll]ogin:', timeout=300) c.sendline('vyos') c.expect('[Pp]assword:', timeout=10) c.sendline('vyos') |