def purge_orphaned_nodes(self, tenant_members):
        node_helper = resource_helper.BigIPResourceHelper(
            resource_helper.ResourceType.node)
        node_dict = dict()
        for bigip in self.get_all_bigips():
            for tenant_id, members in tenant_members.iteritems():
                partition = self.service_adapter.prefix + tenant_id
                nodes = node_helper.get_resources(bigip, partition=partition)
                for n in nodes:
                    node_dict[n.name] = n

                for member in members:
                    rd = self.network_builder.find_subnet_route_domain(
                        tenant_id, member.get('subnet_id', None))
                    node_name = "{}%{}".format(member['address'], rd)
                    node_dict.pop(node_name, None)

                for node_name, node in node_dict.iteritems():
                    try:
                        node_helper.delete(bigip, name=urllib.quote(node_name),
                                           partition=partition)
                    except HTTPError as error:
                        if error.response.status_code == 400:
                            LOG.error(error.response)