QemuImgInfo: Fix inconsistent value format of encrypted
The qemu-img info command shows the encrpyed field in different formats according to the output format. When the default human format is used the field can be 'yes' or None while when json format is used the same field can be True or False. This change ensures the corresponding attribute has the consistent format regardless of the output format used. Closes-Bug: #1942682 Change-Id: I949f07582a708114fdfba76f1a05aa3a3e5c4f40
This commit is contained in:
parent
2c74bb92e5
commit
2922a3491a
@ -63,7 +63,7 @@ class QemuImgInfo(object):
|
||||
self.cluster_size = details.get('cluster-size')
|
||||
self.disk_size = details.get('actual-size')
|
||||
self.snapshots = details.get('snapshots', [])
|
||||
self.encrypted = details.get('encrypted')
|
||||
self.encrypted = 'yes' if details.get('encrypted') else None
|
||||
self.format_specific = details.get('format-specific')
|
||||
else:
|
||||
if cmd_output is not None:
|
||||
|
@ -238,7 +238,8 @@ class ImageUtilsJSONTestCase(test_base.BaseTestCase):
|
||||
"cluster-size": 65536,
|
||||
"format": "qcow2",
|
||||
"actual-size": 13168640,
|
||||
"format-specific": {"data": {"foo": "bar"}}
|
||||
"format-specific": {"data": {"foo": "bar"}},
|
||||
"encrypted": true
|
||||
}'''
|
||||
image_info = imageutils.QemuImgInfo(img_output, format='json')
|
||||
mock_deprecate.assert_not_called()
|
||||
@ -248,6 +249,7 @@ class ImageUtilsJSONTestCase(test_base.BaseTestCase):
|
||||
self.assertEqual('qcow2', image_info.file_format)
|
||||
self.assertEqual(13168640, image_info.disk_size)
|
||||
self.assertEqual("bar", image_info.format_specific["data"]["foo"])
|
||||
self.assertEqual('yes', image_info.encrypted)
|
||||
|
||||
@mock.patch("debtcollector.deprecate")
|
||||
def test_qemu_img_info_blank(self, mock_deprecate):
|
||||
@ -260,3 +262,4 @@ class ImageUtilsJSONTestCase(test_base.BaseTestCase):
|
||||
self.assertIsNone(image_info.file_format)
|
||||
self.assertIsNone(image_info.disk_size)
|
||||
self.assertIsNone(image_info.format_specific)
|
||||
self.assertIsNone(image_info.encrypted)
|
||||
|
6
releasenotes/notes/bug-1942682-ea95d54b2587b32f.yaml
Normal file
6
releasenotes/notes/bug-1942682-ea95d54b2587b32f.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
`bug #1942682 <https://bugs.launchpad.net/oslo.utils/+bug/1942682>`_:
|
||||
Fix inconsistent value of `QemuImgInfo.encrypted`. Now the attribute is
|
||||
always `'yes'` or `None` regardless of the format(`human` or `json`) used.
|
Loading…
Reference in New Issue
Block a user