[openstack-dev] Implications of switching to entry points for scheduler filtering/weighing

Huang Zhiteng winston.d at gmail.com
Fri Jan 4 02:48:10 UTC 2013


On Thu, Jan 3, 2013 at 8:22 PM, Mark McLoughlin <markmc at redhat.com> wrote:
> Hey,
>
> There are some patches proposed for oslo-incubator which adds Nova's
> filter and weighing infrastructure so that it can be re-used by Cinder:
>
>   https://blueprints.launchpad.net/oslo/+spec/common-filters
>
> One part of this is that we would move to loading filters and weighers
> from entry points. I want to make sure Nova folks are aware of the
> implications of this before merging it into Oslo.
>
> My thinking is we should aim to have zero impact on users who just use
> the standard filters/weighers but users who add custom code (should)
> have the expectation that their code will occasionally stop working as
> things upstream and that both code and configuration will need to be
> updated.
>
> I'd appreciate people's thoughts on the summary below.
>
> Cheers,
> Mark.
>
> 1) Users who don't add custom filters or weighers:
>
>    o If a user has set the scheduler_default_filters config option to
>      enable or disable some filters, this should keep working without
>      the user having to update their config files. The current patch
>      renames ComputeCapabilitiesFilter to CapabilitiesFilter which
>      breaks this rule, but should be able to fix that the former is
>      retained for compatibility.
>
>    o The behaviour of the filters should not change at all. For example,
>      they operate on the same set of filter_properties provided to
>      run_instance() so you should be able to update the scheduler before
>      updating the API server.
>
>    o It is proposed that we remove the scheduler_available_filters
>      config option and use the default "all_filters" behaviour. I can't
>      imagine that this class of users would have changed this option.
>
>    o It is also proposed that we remove the scheduler_weight_classes
>      config option. It's somewhat plausible that users may have used
>      this to disable the RAM weigher, so maybe we need a config option
>      which lists the subset of available weighing functions which should
>      be used.
>
> 2) Users who have added their own custom filters or weighers.
>
>    o There were previously two ways of adding new code - drop a file
>      into the right directory Nova's codebase or install it elsewhere
>      and update the available_filters or weight_classes options. Neither
>      of these methods will work anymore. Instead, you need to register
>      your filter as an entry point.
>
>    o The code needs to be updated to use the new Oslo filter/weigher
>      base classes.
>
>
Mark, thanks for putting this together.  I'll update Nova WIP patch to
add configuration option for default weighers and also the commit
message to include the user impact.


-- 
Regards
Huang Zhiteng



More information about the OpenStack-dev mailing list