@@ -1213,10 +1213,13 @@ def _check_for_mem_encryption_requirement_conflicts(
1213
1213
"image %(image_name)s which has hw_mem_encryption property "
1214
1214
"explicitly set to %(image_val)s"
1215
1215
)
1216
+ # image_meta.name is not set if image object represents root
1217
+ # Cinder volume.
1218
+ image_name = (image_meta .name if 'name' in image_meta else None )
1216
1219
data = {
1217
1220
'flavor_name' : flavor .name ,
1218
1221
'flavor_val' : flavor_mem_enc_str ,
1219
- 'image_name' : image_meta . name ,
1222
+ 'image_name' : image_name ,
1220
1223
'image_val' : image_mem_enc ,
1221
1224
}
1222
1225
raise exception .FlavorImageConflict (emsg % data )
@@ -1228,10 +1231,15 @@ def _check_mem_encryption_uses_uefi_image(requesters, image_meta):
1228
1231
1229
1232
emsg = _ (
1230
1233
"Memory encryption requested by %(requesters)s but image "
1231
- "%(image_name)s doesn't have 'hw_firmware_type' property set to 'uefi'"
1234
+ "%(image_name)s doesn't have 'hw_firmware_type' property set to "
1235
+ "'uefi' or volume-backed instance was requested"
1232
1236
)
1237
+ # image_meta.name is not set if image object represents root Cinder
1238
+ # volume, for this case FlavorImageConflict should be raised, but
1239
+ # image_meta.name can't be extracted.
1240
+ image_name = (image_meta .name if 'name' in image_meta else None )
1233
1241
data = {'requesters' : " and " .join (requesters ),
1234
- 'image_name' : image_meta . name }
1242
+ 'image_name' : image_name }
1235
1243
raise exception .FlavorImageConflict (emsg % data )
1236
1244
1237
1245
@@ -1260,12 +1268,14 @@ def _check_mem_encryption_machine_type(image_meta, machine_type=None):
1260
1268
if mach_type is None :
1261
1269
return
1262
1270
1271
+ # image_meta.name is not set if image object represents root Cinder volume.
1272
+ image_name = (image_meta .name if 'name' in image_meta else None )
1263
1273
# Could be something like pc-q35-2.11 if a specific version of the
1264
1274
# machine type is required, so do substring matching.
1265
1275
if 'q35' not in mach_type :
1266
1276
raise exception .InvalidMachineType (
1267
1277
mtype = mach_type ,
1268
- image_id = image_meta .id , image_name = image_meta . name ,
1278
+ image_id = image_meta .id , image_name = image_name ,
1269
1279
reason = _ ("q35 type is required for SEV to work" ))
1270
1280
1271
1281
0 commit comments