[openstack-dev] [Cinder] scheduler_default_filters are assumed to be work with 'create' only?

Pradip Mukhopadhyay pradip.interra at gmail.com
Wed Mar 4 15:23:12 UTC 2015

Hello Experts,

What we're trying to do is that: passing volume-type in get_pools() and
filter out the pools matching (well, string matching) with the extra-specs
k,v pair that may be present in the volume-type.

So we were looking into the create_volume flow. Inside the
filter_scheduler's *schedule_create_volume* method, the *request_specs *are
pumped into the *filter_properties*. Later on during
*get_weighted_candidates*, the pumped up* filter_properties *are
passed to *get_filtered_host
*of HostManager. This, in turn, calls all the three
availability-zone,capacity and capability filters one-by-one.

Inside the capability_filters, looks like the code *assumes *a fixed
structure of the *filter-properties*. Now the queries are:

1. What is the difference b/w request-spec and the filter-properties? For
create, we merely pass vol-type and the size. How request-spec and
filter-properties are linked to the given inputs to vol create?

2. One can potentially defines her own filters or weighers. The fixed
structure of the filter-properties, pumped up with request-specs, has to be

3. Is there a way available/possible where from volume-type (output of
*db.volume_type_extra_specs_get(vol-id)*)  can be adapted exactly what
filters (specifically capability-filer) expects?

Thanks a lot in advance,
Pradip  (IRC nick: pradipm)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150304/d2d50070/attachment.html>

More information about the OpenStack-dev mailing list