summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorricolin <rico.lin.guanyu@gmail.com>2021-03-24 11:15:17 +0800
committerRico Lin <ricolin@ricolky.com>2021-03-24 12:09:13 +0000
commit020e46094a7871cd5fa42d18e53d18f21e47a8fa (patch)
tree282f9909f5e294f23d94699dcfa193c30c821a7e
parent50f48400483f9cb66b323920ccf1ea40b0fd0cd1 (diff)
downloadnova-020e46094a7871cd5fa42d18e53d18f21e47a8fa.tar.gz
[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
-rw-r--r--nova/tests/unit/virt/libvirt/test_host.py2
-rw-r--r--nova/virt/libvirt/host.py2
2 files changed, 2 insertions, 2 deletions
diff --git a/nova/tests/unit/virt/libvirt/test_host.py b/nova/tests/unit/virt/libvirt/test_host.py
index 1abb0458ab..20279a91a2 100644
--- a/nova/tests/unit/virt/libvirt/test_host.py
+++ b/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')
diff --git a/nova/virt/libvirt/host.py b/nova/virt/libvirt/host.py
index 2321501be9..1de93137b5 100644
--- a/nova/virt/libvirt/host.py
+++ b/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)