Terraform-aws-github-runner: Échec de la mise à l'échelle de lambda

Créé le 17 nov. 2020  ·  17Commentaires  ·  Source: philips-labs/terraform-aws-github-runner

Salut. J'ai une erreur sur la mise à l'échelle lambda après avoir configuré votre module.
Cloudwatch enregistre ci-dessous :

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

Commentaire le plus utile

@npalm oui son problème avec autorisation. J'ai résolu le problème en fournissant un accès aux coureurs auto-hébergés ( lecture et écriture ) dans l'organisation. Dans la documentation, rien n'est mentionné sur l'autorisation du coureur.

Tous les 17 commentaires

J'ai eu la même erreur, essayez de donner les droits d'application sur le groupe Actions.

@adrianmiron L' avez-vous corrigé ?

même problème +1

@npalm Pourriez-vous

@adrianmiron j'ai essayé le groupe Actions mais j'ai toujours un problème. Pouvez-vous partager toutes vos autorisations ? J'essaie le coureur d'organisation.

Je ne reconnais pas le problème La mise à l'échelle lambda récupère un message dans la file d'attente, puis vérifie s'il y a toujours des travaux en file d'attente. Si oui, il s'agrandit. La mise à l'échelle lambda est déclenchée pour les messages qui sont pendant 30 secondes dans la file d'attente. Le message d'erreur indique que le lambda n'est pas autorisé à appeler l'API.

Pouvez-vous vérifier si votre application GitHub est configurée conformément à la documentation. Étant donné que votre lambda de mise à l'échelle est déclenchée, il semble que l'application soit installée pour le référentiel, sinon aucun événement ne devrait être reçu. Donc, la plupart des apparences légales semblent que les autorisations ne sont pas correctement définies.

@manoj-k-deepr D'après mes enquêtes sur la même erreur, il s'est avéré qu'il s'agissait de problèmes d'autorisation de l'application github (qui est celle qui effectue réellement la requête sur les actions de dépôt. Je me souviens que j'ai parcouru l'application lambda -> github chose 5 fois et ce n'était pas ça.

Partagez un printscreen avec des autorisations sur organisation/repo et je comparerai dans la matinée.

@npalm oui son problème avec autorisation. J'ai résolu le problème en fournissant un accès aux coureurs auto-hébergés ( lecture et écriture ) dans l'organisation. Dans la documentation, rien n'est mentionné sur l'autorisation du coureur.

Il y a eu un problème avec les autorisations de l'application Github. @npalm Pouvez-vous mettre à jour la documentation et spécifier quelle demande d'autorisation nécessite

@mkryva Super, vous l'avez fait fonctionner. Je vais laisser le problème ouvert afin que nous puissions mettre à jour les documents. Les relations publiques pour l'amélioration des documents sont toujours les bienvenues !

Après la mise à jour des autorisations, cela échoue avec l'erreur suivante :

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

UPD : On dirait que la raison était « Vous avez atteint votre quota de demandes de flottes ponctuelles maximales pour ce compte ».

augmenter lambda échoue pour moi, même après le dernier commit de (ghes) correctif par @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 vous utilisez GHES ? Droit? Juste pour être sûr, avez-vous reconstruit le lambda et vous êtes-vous assuré qu'il est utilisé ?

ETIMEDOUT suggérerait que GHES n'a pas répondu. Êtes-vous derrière un proxy?

@buamod vous utilisez GHES ? Droit? Juste pour être sûr, avez-vous reconstruit le lambda et vous êtes-vous assuré qu'il est utilisé ?

J'ai déployé les derniers lambdas de commit, je les ai construits avec les commandes docker du script Ci/build.sh.

ETIMEDOUT suggérerait que GHES n'a pas répondu. Êtes-vous derrière un proxy?

Il y a peut-être un proxy que je ne connais pas. Disons qu'il y a un proxy, comment pourrais-je passer ça ?

Les exigences du proxy

Cette page vous a été utile?
0 / 5 - 0 notes