<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def delete_project(self, tenant_name, part_name):
 """Delete project on the DCNM. :param tenant_name: name of project. :param part_name: name of partition. """

        res = self._delete_partition(tenant_name, part_name)
        if res and res.status_code in self._resp_ok:
            LOG.debug("Deleted %s partition in DCNM.", part_name)
        else:
            LOG.error("Failed to delete %(part)s partition in DCNM."
                      "Response: %(res)s", {'part': part_name, 'res': res})
            raise dexc.DfaClientRequestFailed(reason=res)

        res = self._delete_org(tenant_name)
        if res and res.status_code in self._resp_ok:
            LOG.debug("Deleted %s organization in DCNM.", tenant_name)
        else:
            LOG.error("Failed to delete %(org)s organization in DCNM."
                      "Response: %(res)s", {'org': tenant_name, 'res': res})
            raise dexc.DfaClientRequestFailed(reason=res)