<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_instances_for_project(self, project_id):
 """Return all instances for a given project. :project_id: UUID of project (tenant) """

        search_opts = {'marker': None,
                       'all_tenants': True,
                       'project_id': project_id}
        try:
            servers = self._novaclnt.servers.list(True, search_opts)
            LOG.debug('_get_instances_for_project: servers=%s', servers)
            return servers
        except nexc.Unauthorized:
            emsg = (_LE('Failed to get novaclient:Unauthorised '
                    'project_id=%(proj)s user=%(user)s'),
                    {'proj': self._project_id, 'user': self._user_name})
            LOG.exception(emsg)
            raise nexc.ClientException(emsg)
        except nexc.AuthorizationFailure as err:
            emsg = (_LE("Failed to get novaclient %s"))
            LOG.exception(emsg, err)
            raise nexc.ClientException(emsg % err)