is _clear_midonet_fip_assoc making DB updates?   If not, we should move this out of DB transaction.  Can we also add comments that this means that it's possible that we could have inconsistent state if the DB error occurs?