'Remove a trust.
:raises keystone.exception.TrustNotFound: If the trust doesn\'t exist.
Recursively remove given and redelegated trusts'

def delete_trust(self, trust_id, initiator=None):

    trust = self.driver.get_trust(trust_id)
    trusts = self.driver.list_trusts_for_trustor(trust['trustor_user_id'])
    for t in trusts:
        if (t.get('redelegated_trust_id') == trust_id):
            try:
                self.delete_trust(t['id'])
            except exception.TrustNotFound:
                pass
    self.driver.delete_trust(trust_id)
    notifications.Audit.deleted(self._TRUST, trust_id, initiator)
