Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

claudia create should fail gracefully on network error #169

Open
ceefour opened this issue Sep 23, 2018 · 0 comments
Open

claudia create should fail gracefully on network error #169

ceefour opened this issue Sep 23, 2018 · 0 comments

Comments

@ceefour
Copy link

ceefour commented Sep 23, 2018

  • Expected behaviour: claudia create fails gracefully, either

  • 1st time, claudia.json is created so it can resume operation later

  • or 2nd time, when role already exists, claudia create can resume 1st failed operation

  • What actually happens:

1st time: claudia create half-fails, but did not create claudia.json file

>npx claudia create --region us-east-1 --handler lambda.handler
npx: installed 1 in 8.059s
Path must be a string. Received undefined
C:\Users\ceefour\git\heartenly-profile\node_modules\claudia\bin\cmd.js
packaging files npm install -q --no-audit --production
npm WARN heartenly-profile@1.0.0 No description
npm WARN heartenly-profile@1.0.0 No repository field.

creating Lambda lambda.setupRequestListeners
{ UnknownEndpoint: Inaccessible host: `lambda.us-east-1.amazonaws.com'. This service may not be available in the `us-east-1' region.
    at Request.ENOTFOUND_ERROR (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\event_listeners.js:481:46)
    at Request.callListeners (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\sequential_executor.js:109:20)
    at Request.emit (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\sequential_executor.js:81:10)
    at Request.emit (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\request.js:683:14)
    at ClientRequest.error (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\event_listeners.js:320:22)
    at ClientRequest.<anonymous> (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\http\node.js:89:19)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at TLSSocket.socketErrorListener (_http_client.js:387:9)
    at emitOne (events.js:116:13)
  message: 'Inaccessible host: `lambda.us-east-1.amazonaws.com\'. This service may not be available in the `us-east-1\' region.',
  code: 'UnknownEndpoint',
  region: 'us-east-1',
  hostname: 'lambda.us-east-1.amazonaws.com',
  retryable: true,
  originalError:
   { Error: getaddrinfo ENOTFOUND lambda.us-east-1.amazonaws.com lambda.us-east-1.amazonaws.com:443
    at errnoException (dns.js:50:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
     message: 'getaddrinfo ENOTFOUND lambda.us-east-1.amazonaws.com lambda.us-east-1.amazonaws.com:443',
     code: 'NetworkingError',
     errno: 'ENOTFOUND',
     syscall: 'getaddrinfo',
     hostname: 'lambda.us-east-1.amazonaws.com',
     host: 'lambda.us-east-1.amazonaws.com',
     port: 443,
     region: 'us-east-1',
     retryable: true,
     time: 2018-09-23T13:53:51.874Z },
  time: 2018-09-23T13:53:51.874Z }

2nd time: claudia create fails because role already exists. At this point it's not possible to do anything without manual intervention (deleting the role from AWS manually? or manually creating claudia.json?)

>npx claudia create --region us-east-1 --handler lambda.handler
npx: installed 1 in 3.61s
Path must be a string. Received undefined
C:\Users\ceefour\git\heartenly-profile\node_modules\claudia\bin\cmd.js
packaging files npm install -q --no-audit --production
npm WARN heartenly-profile@1.0.0 No description
npm WARN heartenly-profile@1.0.0 No repository field.

initialising IAM role   iam.createRole  RoleName=heartenly-profile-executor
{ EntityAlreadyExists: Role with name heartenly-profile-executor already exists.
    at Request.extractError (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\protocol\query.js:47:29)
    at Request.callListeners (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\sequential_executor.js:109:20)
    at Request.emit (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\sequential_executor.js:81:10)
    at Request.emit (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\request.js:683:14)
    at Request.transition (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\request.js:22:10)
    at AcceptorStateMachine.runTo (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\state_machine.js:14:12)
    at C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\state_machine.js:26:10
    at Request.<anonymous> (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\request.js:38:9)
    at Request.<anonymous> (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\request.js:685:12)
    at Request.callListeners (C:\Users\ceefour\git\heartenly-profile\node_modules\aws-sdk\lib\sequential_executor.js:119:18)
  message: 'Role with name heartenly-profile-executor already exists.',
  code: 'EntityAlreadyExists',
  time: 2018-09-23T14:42:08.111Z,
  requestId: 'd8fb5ee6-bf3e-11e8-a7ab-bb3f06326a19',
  statusCode: 409,
  retryable: false,
  retryDelay: 13.245270024648391 }
  • Link to a minimal, executable project that demonstrates the problem:

any project, just need to reproduce or simulate the network issue

  • Steps to install the project:

any project

  • Steps to reproduce the problem:
  1. new project, make claudia create half-fail
  2. observe that claudia.json is not created
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant