'Returns the UUIDs of Ironic nodes managed by this compute service.
We use consistent hashing to distribute Ironic nodes between all
available compute services. The subset of nodes managed by a given
compute service is determined by the following rules:
* any node with an instance managed by the compute service
* any node that is mapped to the compute service on the hash ring
* no nodes with instances managed by another compute service
The ring is rebalanced as nova-compute services are brought up and
down. Note that this rebalance does not happen at the same time for
all compute services, so a node may be managed by multiple compute
services for a small amount of time.
:param refresh: Boolean value; If True run update first. Ignored by
this driver.
:returns: a list of UUIDs'

def get_available_nodes(self, refresh=False):

    self._refresh_cache()
    node_uuids = list(self.node_cache.keys())
    LOG.debug('Returning    %(num_nodes)s    available    node(s)', dict(num_nodes=len(node_uuids)))
    return node_uuids
