[openstack-dev] [nova] [ironic] Input types for scheduler filters

Miles Gould mgould at redhat.com
Mon Jul 11 14:53:04 UTC 2016


On 08/07/16 15:22, Miles Gould wrote:
> On 07/07/16 17:43, Miles Gould wrote:
>> Further evidence that this isn't the intended behaviour: if you remove
>> all the calls to str(), then the original tests still pass, but the
>> '<all-in> e' (substring matching) one doesn't.
>
> I've now proposed this as a patch:
> https://review.openstack.org/#/c/339576/ Please review!

Status update on this: Ruby Loo found a place in nova where the 
thing-being-matched is cast to a string before matching:

https://github.com/openstack/nova/blob/90ec46c87fbf572805c7758377431e26c93622a4/nova/scheduler/filters/compute_capabilities_filter.py#L87

This means <all-in> will match substrings and not subsets; we talked 
about this in the nova-scheduler meeting and agreed it's a bug. I'll 
submit a patch to fix it in Nova.

Alexis Lee has submitted a patch to the oslo.utils version to enforce 
the type of the value being matched:

https://review.openstack.org/#/c/339596/

There's some discussion about whether this is the right approach, but 
the Oslo cores have made clear that without some type-enforcement the 
code won't be merged into Oslo.

If the matcher code can't be merged into Oslo, we may copy it directly 
into ironic-lib until it can be; understandably, there's some resistance 
to this idea.

https://review.openstack.org/#/c/334431/

Reviews on all the above would be much appreciated!

Miles



More information about the OpenStack-dev mailing list