diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/check-qemu-install | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install index a938c3e9..0cbb3674 100755 --- a/scripts/check-qemu-install +++ b/scripts/check-qemu-install @@ -47,6 +47,7 @@ import platform from io import BytesIO from datetime import datetime +from glob import glob import tomli import pexpect @@ -62,6 +63,7 @@ CI_CONFIG_ARGS = { } tpm_folder = '/tmp/vyos_tpm_test' +tpm_sock = f'{tpm_folder}/swtpm-sock' qemu_name = 'VyOS-QEMU' test_timeout = 5 *3600 # 5 hours (in seconds) to complete individual testcases @@ -267,7 +269,7 @@ def get_qemu_cmd(name, enable_uefi, disk_img, raid=None, iso_img=None, tpm=False f' -device scsi-hd,bus=scsi0.0,drive=drive-hd2,id=hd2,bootindex=2' if tpm: - cmd += f' -chardev socket,id=chrtpm,path={tpm_folder}/swtpm-sock' \ + cmd += f' -chardev socket,id=chrtpm,path={tpm_sock}' \ ' -tpmdev emulator,id=tpm0,chardev=chrtpm' \ ' -device tpm-tis,tpmdev=tpm0' @@ -306,6 +308,10 @@ def loginVM(c, log): c.expect(op_mode_prompt) log.info('Logged in!') +def clearTPM(): + for f in glob(f'{tpm_folder}/*'): + os.remove(f) + # Setting up logger log = logging.getLogger() log.setLevel(logging.DEBUG) @@ -375,7 +381,9 @@ if args.raid: # must be called after the raid disk as args.disk name is altered in the RAID path gen_disk(args.disk) -# Create software emulated TPM +# Create software emulated TPM - clear existing TPM data first - might be a +# leftover from a previous run +clearTPM() def start_swtpm(): if not os.path.exists(tpm_folder): os.mkdir(tpm_folder) @@ -383,7 +391,7 @@ def start_swtpm(): def swtpm_thread(): subprocess.check_output([ 'swtpm', 'socket', '--tpmstate', f'dir={tpm_folder}', - '--ctrl', f'type=unixio,path={tpm_folder}/swtpm-sock', '--tpm2', '--log', 'level=1' + '--ctrl', f'type=unixio,path={tpm_sock}', '--tpm2', '--log', 'level=1' ]) from multiprocessing import Process @@ -884,7 +892,6 @@ try: c.expect(op_mode_prompt) log.info('Running TPM encrypted config tests') - tpm_timeout = 600 # Give it 10 mins to encrypt # Verify TPM is loaded @@ -948,9 +955,7 @@ try: shutdownVM(c, log, 'Shutdown VM for TPM fail test') # Clear swtpm - from glob import glob - for f in glob(f'{tpm_folder}/*'): - os.remove(f) + clearTPM() # Shutdown kills swtpm tpm_process.join() @@ -998,11 +1003,7 @@ try: # Shutdown VM shutdownVM(c, log, 'Shutdown VM for non-TPM backed test') - - # Clear swtpm - from glob import glob - for f in glob(f'{tpm_folder}/*'): - os.remove(f) + clearTPM() # Shutdown kills swtpm tpm_process.join() |
