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