Add ALL-IN operator to extra spec ops

Registered by Facundo Maldonado

This blueprint aims to allow querying if ALL of the given values are present in a list.
Currently there are is support for IN operator that returns True if a given element is present in a list. And, the OR operator that only work for single values.


Suppose I want a flavor to be placed on a host that have the cpu flag 'aes' and 'vmx'.
Non of the existing operators can be used to describe this condition.
The <in> operator only works for just one element.
The <or> compares an element or each of the given elements against a single value.

I can't also repeat the <in> operator. As the extra specs is a dict, the flavor extra-spec key would be the same:

  capabilities:cpu_info:features : <in> aes
  capabilities:cpu_info:features : <in> vmx

  Just one of them will be saved.

  I need something like this:

  capabilities:cpu_info:features : <all-in> aes vmx

This blueprint propose the addition of this operator to the existing extra_specs_ops's operators set.

Blueprint information

John Garbutt
Facundo Maldonado
Artur Malinowski
Series goal:
Accepted for kilo
Milestone target:
milestone icon 2015.1.0
Started by
John Garbutt
Completed by
John Garbutt

Related branches



Addressed by:
     Add ALL-IN operator to extra spec ops

Gerrit topic:,topic:bp/add-all-in-list-operator-to-extra-spec-ops,n,z

Addressed by:
    Add ALL-IN operator to extra spec ops

Not all the reviews have +2s and are not all are close to approval, so moving to juno-3. But please move this back to juno-2, should you get your patches approved in time. --johnthetubaguy 21st July 2014

Sorry, this does not have enough positive reviews to make it for juno-3, please resubmit for kilo. For more information, please contact me (johnthetubaguy) via IRC or email. --johnthetubaguy 2nd September 2014

Addressed by:
    Add ALL-IN operator to extra spec ops


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.