On Thu, May 28, 2015 at 12:22:59PM +0300, Feodor Tersin wrote: > I mean the case: > - an image has long property AAA and non inheritable property BBB; > - an instance based on the image stores truncated AAA and full BBB; > - utils.get_image_from_system_metadata returns truncated AAA but not BBB; > - compute.utils.get_image_metadata updates the result of > utils.get_image_from_system_metadata by the image metadata and returns full > AAA and added BBB. > > This is the difference i mean.
No, your last step is wrong. The code in compute_utils.get_image_metadata is this: # Get the system metadata from the instance system_meta = utils.instance_sys_meta(instance) # Merge the metadata from the instance with the image's, if any system_meta.update(image_system_meta) # Convert the system metadata to image metadata return utils.get_image_from_system_metadata(system_meta) So the image metadata and the instance system metadata are merged into the same dict, *before* the utils.get_image_from_system_metadata() method is invokved. So both sets of data will be truncated & non-inheritable props dropped. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev