[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