def create_floatingip(self, context, floatingip):
        """Handle floating IP creation."""
        LOG.info(_("MidonetPluginV2.create_floatingip called: ip=%r"),
                 floatingip)

        fip = super(MidonetPluginV2, self).create_floatingip(context,
                                                             floatingip)
        try:
            self.api_cli.create_floating_ip(fip)
        except Exception as ex:
            LOG.error(_("Failed to create floating ip %(fip)s: %(err)s"),
                      {"fip": fip, "err": ex})
            with excutils.save_and_reraise_exception():
                # Try removing the fip
                self.delete_floatingip(context, fip['id'])

        LOG.info(_("MidonetPluginV2.create_floatingip exiting: fip=%r"),
                 fip)
        return fip