@@ -108,6 +108,7 @@ def test_normal_props(self):
108
108
'hw_video_model' : 'vga' ,
109
109
'hw_video_ram' : '512' ,
110
110
'hw_qemu_guest_agent' : 'yes' ,
111
+ 'hw_locked_memory' : 'true' ,
111
112
'trait:CUSTOM_TRUSTED' : 'required' ,
112
113
# Fill sane values for the rest here
113
114
}
@@ -116,6 +117,7 @@ def test_normal_props(self):
116
117
self .assertEqual ('vga' , virtprops .hw_video_model )
117
118
self .assertEqual (512 , virtprops .hw_video_ram )
118
119
self .assertTrue (virtprops .hw_qemu_guest_agent )
120
+ self .assertTrue (virtprops .hw_locked_memory )
119
121
self .assertIsNotNone (virtprops .traits_required )
120
122
self .assertIn ('CUSTOM_TRUSTED' , virtprops .traits_required )
121
123
@@ -285,6 +287,28 @@ def test_set_numa_cpus_no_count(self):
285
287
self .assertEqual ([set ([0 , 1 , 2 , 3 ])],
286
288
virtprops .hw_numa_cpus )
287
289
290
+ def test_locked_memory_prop (self ):
291
+ props = {'hw_locked_memory' : 'true' }
292
+ virtprops = objects .ImageMetaProps .from_dict (props )
293
+ self .assertTrue (virtprops .hw_locked_memory )
294
+
295
+ def test_obj_make_compatible_hw_locked_memory (self ):
296
+ """Check 'hw_locked_memory' compatibility."""
297
+ # assert that 'hw_locked_memory' is supported
298
+ # on a suitably new version
299
+ obj = objects .ImageMetaProps (
300
+ hw_locked_memory = 'true' ,
301
+ )
302
+ primitive = obj .obj_to_primitive ('1.33' )
303
+ self .assertIn ('hw_locked_memory' ,
304
+ primitive ['nova_object.data' ])
305
+ self .assertTrue (primitive ['nova_object.data' ]['hw_locked_memory' ])
306
+
307
+ # and is absent on older versions
308
+ primitive = obj .obj_to_primitive ('1.32' )
309
+ self .assertNotIn ('hw_locked_memory' ,
310
+ primitive ['nova_object.data' ])
311
+
288
312
def test_get_unnumbered_trait_fields (self ):
289
313
"""Tests that only valid un-numbered required traits are parsed from
290
314
the properties.
0 commit comments