'Return floating IP object given the floating IP id.'

def get_floating_ip(self, context, id):

    client = get_client(context)
    try:
        fip = client.show_floatingip(id)['floatingip']
    except neutron_client_exc.NeutronClientException as e:
        if (e.status_code == 404):
            raise exception.FloatingIpNotFound(id=id)
        else:
            with excutils.save_and_reraise_exception():
                LOG.exception(_LE('Unable    to    access    floating    IP    %s'), id)
    pool_dict = self._setup_net_dict(client, fip['floating_network_id'])
    port_dict = self._setup_port_dict(context, client, fip['port_id'])
    return self._make_floating_ip_obj(context, fip, pool_dict, port_dict)
