Browse Source

[Arm64][libvirt] Fix read bytes from json files

This fix issue that we might get str stream from json files instead of bytes
and make sure we read bytes from json files under
QEMU_FIRMWARE_DESCRIPTOR_PATHS.

Add `rb` mode ([1]) to return contents as bytes objects.
[1] https://docs.python.org/3.8/library/functions.html#open

Closes-Bug: #1921075

Change-Id: I446be58f7f3e972d8e10cc5cbf83ebd42edb34e3
changes/34/782634/4
ricolin 5 months ago
committed by Rico Lin
parent
commit
020e46094a
  1. 2
      nova/tests/unit/virt/libvirt/test_host.py
  2. 2
      nova/virt/libvirt/host.py

2
nova/tests/unit/virt/libvirt/test_host.py

@ -1970,4 +1970,4 @@ class LoadersTestCase(test.NoDBTestCase):
])
mock_glob.assert_called_once_with(
'/usr/share/qemu/firmware/*.json')
mock_open.assert_called_once_with('10_fake.json')
mock_open.assert_called_once_with('10_fake.json', 'rb')

2
nova/virt/libvirt/host.py

@ -108,7 +108,7 @@ def _get_loaders():
continue
for spec_path in sorted(glob.glob(f'{path}/*.json')):
with open(spec_path) as fh:
with open(spec_path, 'rb') as fh:
spec = jsonutils.load(fh)
_loaders.append(spec)

Loading…
Cancel
Save