'Returns a node if the identifier specified matches any unique instance
attribute (e.g. instance id, alias, spot id, dns name, private ip,
public ip, etc.)'

def get_node(self, identifier, nodes=None):

    nodes = (nodes or self.nodes)
    for node in self.nodes:
        if (node.alias == identifier):
            return node
        if (node.id == identifier):
            return node
        if (node.spot_id == identifier):
            return node
        if (node.dns_name == identifier):
            return node
        if (node.ip_address == identifier):
            return node
        if (node.private_ip_address == identifier):
            return node
        if (node.public_dns_name == identifier):
            return node
        if (node.private_dns_name == identifier):
            return node
    raise exception.InstanceDoesNotExist(identifier, label='node')
