Files
archy/tests/regression/os-ota-replay-diagnostics.py

19 lines
846 B
Python

#!/usr/bin/env python3
"""Read-only diagnostic boot of a retained failed disposable guest."""
import json
from pathlib import Path
import subprocess
assert 'QEMU' in Path('/sys/class/dmi/id/sys_vendor').read_text()
assert subprocess.check_output(['findmnt','-n','-o','SOURCE','/'],text=True).strip()=='/dev/vda'
root=Path('/var/log/os-ota-stage')
v=json.loads(Path('/var/lib/archipelago-d09/ledger.json').read_text())
units=['archipelago.service','archipelago-d09-lifecycle.service']
if v.get('execution'):units.append(v['execution']['unit'])
command=['journalctl','--no-pager','-b','-1']
for unit in units:command+=['-u',unit]
r=subprocess.run(command,capture_output=True,text=True)
(root/'retained-failed-boot-journal.log').write_text(r.stdout+r.stderr)
print(r.stdout,r.stderr)
print('READ_ONLY_DIAGNOSTICS_NO_READMISSION_OR_PACKAGE_REPLAY')