'Update project info'

def _update_project(self, request, data):

    domain_id = identity.get_domain_id_for_operation(request)
    try:
        project_id = data['project_id']
        if (keystone.VERSIONS.active >= 3):
            EXTRA_INFO = getattr(settings, 'PROJECT_TABLE_EXTRA_INFO', {})
            kwargs = dict(((key, data.get(key)) for key in EXTRA_INFO))
        else:
            kwargs = {}
        return api.keystone.tenant_update(request, project_id, name=data['name'], description=data['description'], enabled=data['enabled'], domain=domain_id, **kwargs)
    except exceptions.Conflict:
        msg = (_('Project    name    "%s"    is    already    used.') % data['name'])
        self.failure_message = msg
        return
    except Exception as e:
        LOG.debug('Project    update    failed:    %s', e)
        exceptions.handle(request, ignore=True)
        return
