in modules/python/clients/kubernetes_client.py [0:0]
def get_ready_nodes(self, label_selector=None, field_selector=None):
"""
Get a list of nodes that are ready to be scheduled. Should apply all those conditions:
- 'Ready' condition status is True
- 'NetworkUnavailable' condition status is not present or is False
- Spec unschedulable is False
- Spec taints do not have any of the builtin taints keys with effect 'NoSchedule' or 'NoExecute'
"""
nodes = self.get_nodes(label_selector=label_selector, field_selector=field_selector)
return [
node for node in nodes
if self._is_node_schedulable(node) and self._is_node_untainted(node)
]