code: def retry_failure_fab_dev_delete(self, tenant_id, fw_data, fw_dict):
          
          result = fw_data.get('result').split('(')[0]
          name = dfa_dbm.DfaDBMixin.get_project_name(self, tenant_id)
          fw_dict['tenant_name'] = name
          is_fw_virt = self.is_device_virtual()
          if result == fw_constants.RESULT_FW_DELETE_INIT:
              if self.fwid_attr[tenant_id].is_fw_drvr_created():
                  ret = self.delete_fw_device(tenant_id, fw_dict.get('fw_id'),
                                              fw_dict)
                  if ret:
                      # Device portion
                      self.update_fw_db_dev_status(fw_dict.get('fw_id'),
                                                   '')
                      self.fwid_attr[tenant_id].fw_drvr_created(False)
                      LOG.info("Retry failue dev return success for delete"
                               " tenant %s", tenant_id)
                  else:
                      return
              name = dfa_dbm.DfaDBMixin.get_project_name(self, tenant_id)
              ret = self.fabric.retry_failure(tenant_id, name, fw_dict,
                                              is_fw_virt, result)
              if not ret:
                  LOG.error("Retry failure returned fail for tenant %s",
                            tenant_id)
                  return
              result = fw_constants.RESULT_FW_DELETE_DONE
              self.update_fw_db_final_result(fw_dict.get('fw_id'), result)
              self.delete_fw(fw_dict.get('fw_id'))
              self.fwid_attr[tenant_id].delete_fw(fw_dict.get('fw_id'))
              self.tenant_db.del_fw_tenant(fw_dict.get('fw_id'))
docs: Retry the failure cases for delete.
  
          This module calls routine in fabric to retry the failure cases for
          delete.
          If device is not successfully cfg/uncfg, it calls the device manager
          routine to cfg/uncfg the device.