On 08/13/2014 08:31 PM, zhiwei wrote:
Hi all,
We wrote a nova schedule plugin that need to fetch image metadata by
image_id, but encountered one thing, we did not have the glance context.
Our solution is to configure OpenStack admin user and password to
nova.conf, as you know this is not good.
So, I want to ask if there are any other ways to do this?
You should not have to do a separate fetch of image metadata in a
scheduler filter (which is what I believe you meant by "plugin" above?).
The filter object's host_passes() method has a filter_properties
parameter that contains the request_spec, that in turn contains the
image, which in turn contains the image "metadata". You can access it
like so:
def host_passes(self, host_state, filter_properties):
request_spec = filter_properties['request_spec']
image_info = request_spec['image']
# Certain image attributes are accessed via top-level keys, like
# size, disk_format, container_format and checksum
image_size = image_info['size']
# Other attributes can be accessed in the "properties" collection
# of key/value pairs
image_props = image.get('properties', {})
for key, value in image_props.items():
# do something...
Best,
-jay
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev