def get_node(instance, nodes): ''' Select a node for hosting an instance based on its requirements.
''' # Return first Node or None try:
req_traits = set(instance.req_traits.all()) nodes = [n for n in nodes if req_traits.issubset(n.traits.all())]
return nodes[0]
except: return None