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: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev