|
13 | 13 | # under the License.
|
14 | 14 |
|
15 | 15 | import datetime
|
| 16 | +import six |
16 | 17 |
|
17 | 18 | from nova import exception
|
18 | 19 | from nova import objects
|
@@ -350,21 +351,29 @@ def test_obj_make_compatible(self):
|
350 | 351 | obj.obj_to_primitive, '1.0')
|
351 | 352 |
|
352 | 353 | def test_obj_make_compatible_video_model(self):
|
353 |
| - # assert that older video models are not preserved. |
| 354 | + # assert that older video models are preserved. |
354 | 355 | obj = objects.ImageMetaProps(
|
355 |
| - hw_video_model=objects.fields.VideoModel.QXL) |
356 |
| - primitive = obj.obj_to_primitive('1.0') |
| 356 | + hw_video_model=objects.fields.VideoModel.QXL, |
| 357 | + hw_disk_bus=objects.fields.DiskBus.VIRTIO |
| 358 | + ) |
| 359 | + primitive = obj.obj_to_primitive('1.21') |
357 | 360 | self.assertIn("hw_video_model", primitive['nova_object.data'])
|
| 361 | + self.assertEqual(objects.fields.VideoModel.QXL, |
| 362 | + primitive['nova_object.data']['hw_video_model']) |
| 363 | + self.assertIn("hw_disk_bus", primitive['nova_object.data']) |
| 364 | + self.assertEqual(objects.fields.DiskBus.VIRTIO, |
| 365 | + primitive['nova_object.data']['hw_disk_bus']) |
358 | 366 |
|
359 |
| - # Virtio, GOP and None were added in 1.22 and should raise and |
| 367 | + # Virtio, GOP and None were added in 1.22 and should raise an |
360 | 368 | # exception when backleveling.
|
361 | 369 | models = [objects.fields.VideoModel.VIRTIO,
|
362 | 370 | objects.fields.VideoModel.GOP,
|
363 | 371 | objects.fields.VideoModel.NONE]
|
364 | 372 | for model in models:
|
365 | 373 | obj = objects.ImageMetaProps(hw_video_model=model)
|
366 |
| - self.assertRaises(exception.ObjectActionError, |
367 |
| - obj.obj_to_primitive, '1.0') |
| 374 | + ex = self.assertRaises(exception.ObjectActionError, |
| 375 | + obj.obj_to_primitive, '1.21') |
| 376 | + self.assertIn('hw_video_model', six.text_type(ex)) |
368 | 377 |
|
369 | 378 | def test_obj_make_compatible_watchdog_action_not_disabled(self):
|
370 | 379 | """Tests that we don't pop the hw_watchdog_action if the value is not
|
|
0 commit comments