Terraform-aws-github-runner: Aumento de lambda falhou

Criado em 17 nov. 2020  ·  17Comentários  ·  Fonte: philips-labs/terraform-aws-github-runner

Oi. Ocorreu um erro na escala lambda após configurar seu módulo.
Registros do Cloudwatch abaixo:

ERROR   Invoke Error    
{
    "errorType": "Error",
    "errorMessage": "Failed handling SQS event",
    "stack": [
        "Error: Failed handling SQS event",
        "    at _homogeneousError (/var/runtime/CallbackContext.js:12:12)",
        "    at postError (/var/runtime/CallbackContext.js:29:54)",
        "    at callback (/var/runtime/CallbackContext.js:41:7)",
        "    at /var/runtime/CallbackContext.js:104:16",
        "    at /var/task/index.js:16834:16",
        "    at Generator.throw (<anonymous>)",
        "    at rejected (/var/task/index.js:16816:65)",
        "    at processTicksAndRejections (internal/process/task_queues.js:97:5)"
    ]
}

ERROR RequestError [HttpError]: Resource not accessible by integration at /var/task/index.js:15124:23 at processTicksAndRejections (internal/process/task_queues.js:97:5) { status: 403, headers: { 'access-control-allow-origin': '*', 'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset', connection: 'close', 'content-encoding': 'gzip', 'content-security-policy': "default-src 'none'", 'content-type': 'application/json; charset=utf-8', date: 'Tue, 17 Nov 2020 17:51:47 GMT', 'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin', server: 'GitHub.com', status: '403 Forbidden', 'strict-transport-security': 'max-age=31536000; includeSubdomains; preload', 'transfer-encoding': 'chunked', vary: 'Accept-Encoding, Accept, X-Requested-With', 'x-content-type-options': 'nosniff', 'x-frame-options': 'deny', 'x-github-media-type': 'github.v3; format=json', 'x-github-request-id': '93DE:E7C5:957F272:AC944E7:5FB40DB3', 'x-ratelimit-limit': '5600', 'x-ratelimit-remaining': '5598', 'x-ratelimit-reset': '1605639047', 'x-ratelimit-used': '2', 'x-xss-protection': '1; mode=block' }, request: { method: 'GET', url: 'https://api.github.com/repos/RaketaApp/packer-base-ami/actions/runs?status=queued', headers: { accept: 'application/vnd.github.v3+json', 'user-agent': 'octokit-rest.js/18.0.6 octokit-core.js/3.1.1 Node.js/12.18.4 (linux; x64)', authorization: 'token [REDACTED]' }, request: { hook: [Function: bound bound register] } }, documentation_url: 'https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository' }

documentation question

Comentários muito úteis

@npalm sim, é um problema com permissão. Resolvi o problema fornecendo acesso de corredores auto-hospedados ( leitura e gravação ) na organização. Na documentação, nada foi mencionado sobre a permissão do corredor.

Todos 17 comentários

Eu tive o mesmo erro, tente conceder direitos ao aplicativo no grupo Ações.

@adrianmiron Você consertou?

mesmo problema +1

@npalm Você poderia me ajudar?

@adrianmiron tentei o grupo Actions, mas ainda estou tendo problemas. Você pode compartilhar todas as suas permissões? Estou tentando um corredor de organização.

Não reconheço o problema O lambda escalonado está buscando um messange da fila; em seguida, ele verifica se ainda há trabalhos na fila. Se sim, está aumentando. O lambda de aumento de escala é acionado para mensagens que ficam por 30 segundos na fila. A mensagem de erro indica que o lambda não tem permissão para chamar a API.

Verifique se o aplicativo GitHub está configurado de acordo com os documentos. Como o lambda de aumento de escala é acionado, parece que o aplicativo está instalado para o repo, caso contrário, nenhum evento deve ser recebido. Portanto, a maioria dos ligicais parece que as permissões não estão definidas corretamente.

@ manoj-k-deepr Pelas minhas investigações sobre o mesmo erro, descobri que eram problemas de permissão do aplicativo github (que é o que realmente faz a consulta às ações do repo. Lembro que examinei o aplicativo lambda -> github coisa 5 vezes e não foi isso.

Compartilhe uma tela de impressão com permissões em organização / repo e compararei de manhã.

@npalm sim, é um problema com permissão. Resolvi o problema fornecendo acesso de corredores auto-hospedados ( leitura e gravação ) na organização. Na documentação, nada foi mencionado sobre a permissão do corredor.

Ocorreu um problema com as permissões do aplicativo Github. @npalm Você pode atualizar a documentação e especificar quais permissões o aplicativo requer

@mkryva Ótimo, você fez funcionar. Vou deixar o problema em aberto para que possamos atualizar a documentação. PR's para melhorar a documentação são sempre bem-vindos!

Depois de atualizar as permissões, ele falha com o seguinte erro:

ERROR AuthFailure.ServiceLinkedRoleCreationNotPermitted: The provided credentials do not have permission to create the service-linked role for EC2 Spot Instances.

UPD: parece que o motivo foi "Você atingiu sua cota máxima de solicitações de frota spot para esta conta".

dimensionar lambda falhando para mim, mesmo após o último commit de (ghes) corrigido por @mcaulifn


DEBUG   https://enterprise.github.custom.com/api/v3

ERROR   RequestError [HttpError]: request to https://enterprise.github.custom.com/api/v3/app/installations/22/access_tokens 
failed, reason: connect ETIMEDOUT 192.168.1.1:443
    at /var/task/index.js:2797:11
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async getInstallationAuthentication (/var/task/index.js:266:7) {
  status: 500,
  headers: {},
  request: {
    method: 'POST',
    url: 'https://enterprise.github.custom.com/api/v3/app/installations/22/access_tokens',
    headers: {
      accept: 'application/vnd.github.antiope-preview+json,application/vnd.github.machine-man-preview+json',
      'user-agent': 'octokit-request.js/5.4.12 Node.js/12.19.0 (linux; x64)',
      authorization: 'bearer [REDACTED]',
      'content-length': 0
    }
  }
}

ERROR RequestError [HttpError]: request to https://enterprise.github.custom.com/api/v3/app/installations/22/access_tokens failed, 
reason: connect ETIMEDOUT 192.168.1.1:443 at /var/task/index.js:2797:11 at processTicksAndRejections 
(internal/process/task_queues.js:97:5) at async getInstallationAuthentication (/var/task/index.js:266:7) 
{ status: 500, headers: {}, request: { 
    method: 'POST', url: 'https://enterprise.github.custom.com/api/v3/app/installations/22/access_tokens', 
    headers: { accept: 'application/vnd.github.antiope-preview+json,application/vnd.github.machine-man-preview+json', 
    'user-agent': 'octokit-request.js/5.4.12 Node.js/12.19.0 (linux; x64)', authorization: 'bearer [REDACTED]', 
    'content-length': 0 } } }



ERROR   Invoke Error    
{
    "errorType": "Error",
    "errorMessage": "Failed handling SQS event",
    "stack": [
        "Error: Failed handling SQS event",
        "    at _homogeneousError (/var/runtime/CallbackContext.js:12:12)",
        "    at postError (/var/runtime/CallbackContext.js:29:54)",
        "    at callback (/var/runtime/CallbackContext.js:41:7)",
        "    at /var/runtime/CallbackContext.js:104:16",
        "    at /var/task/index.js:50911:16",
        "    at Generator.throw (<anonymous>)",
        "    at rejected (/var/task/index.js:50893:65)",
        "    at processTicksAndRejections (internal/process/task_queues.js:97:5)"
    ]
}

@buamod você está usando GHES? Direito? Só para ter certeza, você reconstruiu o lambda e garantiu que ele fosse usado?

ETIMEDOUT sugere que GHES não respondeu. Você está atrás de um proxy?

@buamod você está usando GHES? Direito? Só para ter certeza, você reconstruiu o lambda e garantiu que ele fosse usado?

Implantei os lambdas do commit mais recentes, criei-os com comandos docker do script Ci / build.sh.

ETIMEDOUT sugere que GHES não respondeu. Você está atrás de um proxy?

Pode haver um proxy que não conheço. Digamos que haja um proxy, como eu passaria isso?

Os requisitos de proxy

Esta página foi útil?
0 / 5 - 0 avaliações