serverless / serverless-graphql-blog

A Serverless Blog leveraging GraphQL to offer a REST API with only 1 endpoint using Serverless v0.5
793 stars 75 forks source link

Cannot deploy to AWS #5

Closed ngothanhtai closed 8 years ago

ngothanhtai commented 8 years ago

Hi everyone,

Here is the error I got when "sls dash deploy": Error 1: Serverless: Failed to deploy the following functions in "dev" to the following regions: Serverless: us-east-1 ------------------------
Serverless: blog/resource/graphql: Missing required key 'Role' in params
serverless:lib.node_modules.serverless.lib.actions.FunctionDeploy MissingRequiredParameter: Missing required key 'Role' in params at ParamValidator.fail (/usr/local/lib/node_modules/serverless/node_modules/aws-sdk/lib/param_validator.js:50:37) at ParamValidator.validateStructure (/usr/local/lib/node_modules/serverless/node_modules/aws-sdk/lib/param_validator.js:61:14)

Error 2: Serverless: Failed to deploy endpoints in "dev" to the following regions:
Serverless: us-east-1 ------------------------
Serverless: POST - resource/graphql: No Lambda IAM Role found
serverless:lib.node_modules.serverless.lib.actions.EndpointDeploy ServerlessError: No Lambda IAM Role found at new ServerlessError (/usr/local/lib/node_modules/serverless/lib/ServerlessError.js:17:11) at Builder._validateAndPrepare (/usr/local/lib/node_modules/serverless/lib/actions/EndpointBuildApiGateway.js:132:15)

copperspeed commented 8 years ago

I am seeing the same issue. Tried several times.

raineroviir commented 8 years ago

I was able to deploy successfully once and then I deleted the folder and reinstalled and now I am having the same issue

copperspeed commented 8 years ago

I solved this problem by doing the following...

sls region remove -s dev -r us-west-2 sls region create

raineroviir commented 8 years ago

while doing sls region create I get the following error: An error occurred while provisioning your cloudformation: The following resource(s) failed to create: [AuthorsDynamo, CommentsDynamo, IamRoleLambda, PostsDynamo]. . Delete requested by user.

raineroviir commented 8 years ago

i was able to fix the 'no lambda IAM role found' problem by deleting everything and deploying to a different region

marclar commented 8 years ago

Yes, just had this problem myself, fixed with sls region remove and sls region create, and needed to pick a different region (was on us-east-1, changed to ap-northeast-1).

pcorey commented 8 years ago

I'm also getting this error. I was following these directions:

http://docs.serverless.com/docs/installing-serverless

And used the us-east-1 region.

Switching to us-west-2 fixed the issue for me. Interestingly, after switching from us-west-2 back to us-east-1, serverless dash deploy worked fine.

calam1 commented 8 years ago

Ok, I was having similar problems with errors like:

The following resource(s) failed to create: [IamRoleLambda]. . Delete requested by user.

I took a look at the cloudformation logs, under the "deleted" filter. I saw that the process was failing due to the resource existing, but it was under another stack. I was experimenting earlier and manually running cloudformation templates via the console.

So what I did in the command line, you must have the aws-cli installed, was aws cloudformation describe-stacks and to my surprise I found a couple of outstanding stacks with created resources associated with it. I deleted those stacks via the command line, aws cloudformation delete-stack --stack-name xyz

i ran sls project remove, I went into my console and made sure everything was deleted, i.e. dynamodb tables, topics, as you know the remove does not delete dynamodb tables, etc; make sure you are starting from a clean slate.

Then I ran sls project init, picked the defaults as usual, YMMV, and it started working again.

Hope this helps people, this was driving me nuts for a day or two.

dgomesbr commented 8 years ago

Just go to your account and delete the stack created by cloudformation and try again.