localstack / serverless-localstack

⚡ Serverless plugin for running against LocalStack
519 stars 83 forks source link

localstack.utils.cloudformation.template_deployer Error calling <bound method ClientCreator._create_api_method.<locals>._api_call of <botocore.client.Lambda object at #157

Closed bedwards closed 11 months ago

bedwards commented 3 years ago

I run localstack start and then once it is ready I run sls deploy. I get this from localstack...

2021-07-27T01:42:08:WARNING:localstack.utils.cloudformation.template_deployer: Error calling <bound method ClientCreator._create_api_method.<locals>._api_call of <botocore.client.Lambda object at 0x7f5a1f5f6810>> with params: {'FunctionName': 'slsfoo-dev-hello', 'Runtime': 'nodejs14.x', 'Role': 'arn:aws:iam::000000000000:role/slsfoo-dev-us-east-1-lambdaRole', 'Handler': 'handler.hello', 'Code': {'S3Bucket': '__local__', 'S3Key': '/Users/brian.edwards/code/spike/slsfoo'}, 'Timeout': 6, 'MemorySize': 1024} for resource: {'Type': 'AWS::Lambda::Function', 'DependsOn': ['HelloLogGroup'], 'LogicalResourceId': 'HelloLambdaFunction', 'Properties': {'Code': {'S3Bucket': '__local__', 'S3Key': '/Users/brian.edwards/code/spike/slsfoo'}, 'Handler': 'handler.hello', 'Runtime': 'nodejs14.x', 'FunctionName': 'slsfoo-dev-hello', 'MemorySize': 1024, 'Timeout': 6, 'Role': 'arn:aws:iam::000000000000:role/slsfoo-dev-us-east-1-lambdaRole'}, '_state_': {}}

I get this from sls...

An error occurred: slsfoo-dev - UPDATE_FAILED.

My serverless.yml is...

service: slsfoo

plugins:
  - serverless-localstack

custom:
  localstack:
    stages: [dev]
    lambda:
      mountCode: True

provider:
  name: aws
  runtime: nodejs14.x
  lambdaHashingVersion: 20201221

functions:
  hello:
    handler: handler.hello

My handler.js is...

exports.hello = (event) => {
    return {'eventText': event.text}
};

Full output from localstack is...

Starting local dev environment. CTRL-C to quit.
docker run -it -e DEFAULT_REGION="us-east-1" -e LOCALSTACK_HOSTNAME="localhost" -e TEST_AWS_ACCOUNT_ID="000000000000" --rm --privileged --name localstack_main -p 127.0.0.1:4566:4566 -p 127.0.0.1:8080:8080 -p 127.0.0.1:4571:4571  -v "/private/var/folders/_l/f_22mmbj43z4_rwfb6dtgssc0000gs/T/localstack:/tmp/localstack" -v "/var/run/docker.sock:/var/run/docker.sock" -e DOCKER_HOST="unix:///var/run/docker.sock" -e HOST_TMP_FOLDER="/private/var/folders/_l/f_22mmbj43z4_rwfb6dtgssc0000gs/T/localstack" "localstack/localstack"
Waiting for all LocalStack services to be ready
2021-07-27 01:41:27,258 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
2021-07-27 01:41:27,261 INFO supervisord started with pid 14
2021-07-27 01:41:28,265 INFO spawned: 'dashboard' with pid 20
2021-07-27 01:41:28,267 INFO spawned: 'infra' with pid 21
2021-07-27 01:41:28,272 INFO success: dashboard entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2021-07-27 01:41:28,272 INFO exited: dashboard (exit status 0; expected)
(. .venv/bin/activate; exec bin/localstack start --host)
Starting local dev environment. CTRL-C to quit.
2021-07-27 01:41:29,822 INFO success: infra entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

LocalStack version: 0.12.15
LocalStack Docker container id: 97ea133cb6aa
LocalStack build date: 2021-07-26
LocalStack build git hash: 08a11185

Starting edge router (https port 4566)...
Starting mock ACM service on http port 4566 ...
Starting mock API Gateway service on http port 4566 ...
Starting mock CloudFormation service on http port 4566 ...
Starting mock CloudWatch service on http port 4566 ...
Starting mock DynamoDB service on http port 4566 ...
Starting mock DynamoDB Streams service on http port 4566 ...
Starting mock EC2 service on http port 4566 ...
Starting mock ES service on http port 4566 ...
Starting mock Firehose service on http port 4566 ...
Starting mock IAM service on http port 4566 ...
Starting mock STS service on http port 4566 ...
Starting mock Kinesis service on http port 4566 ...
Starting mock KMS service on http port 4566 ...
Starting mock Lambda service on http port 4566 ...
Starting mock CloudWatch Logs service on http port 4566 ...
Starting mock Redshift service on http port 4566 ...
Starting mock Route53 service on http port 4566 ...
2021-07-27T01:41:32:INFO:localstack.multiserver: Starting multi API server process on port 40257
[2021-07-27 01:41:32 +0000] [22] [INFO] Running on http://0.0.0.0:40257 (CTRL + C to quit)
2021-07-27T01:41:32:INFO:hypercorn.error: Running on http://0.0.0.0:40257 (CTRL + C to quit)
[2021-07-27 01:41:32 +0000] [22] [INFO] Running on https://0.0.0.0:4566 (CTRL + C to quit)
2021-07-27T01:41:32:INFO:hypercorn.error: Running on https://0.0.0.0:4566 (CTRL + C to quit)
Waiting for all LocalStack services to be ready
Starting mock S3 service on http port 4566 ...
Starting mock Secrets Manager service on http port 4566 ...
Starting mock SES service on http port 4566 ...
Starting mock SNS service on http port 4566 ...
Starting mock SQS service on http port 4566 ...
Starting mock SSM service on http port 4566 ...
Starting mock Cloudwatch Events service on http port 4566 ...
Starting mock StepFunctions service on http port 4566 ...
Starting mock SWF service on http port 4566 ...
Starting mock Resource Groups Tagging API service on http port 4566 ...
Starting mock Resource Groups API service on http port 4566 ...
Starting mock Support service on http port 4566 ...
Waiting for all LocalStack services to be ready
Ready.
2021-07-27T01:41:42:INFO:localstack.utils.analytics.profiler: Execution of "start_api_services" took 10181.42ms
2021-07-27T01:42:08:WARNING:localstack.utils.cloudformation.template_deployer: Error calling <bound method ClientCreator._create_api_method.<locals>._api_call of <botocore.client.Lambda object at 0x7f5a1f5f6810>> with params: {'FunctionName': 'slsfoo-dev-hello', 'Runtime': 'nodejs14.x', 'Role': 'arn:aws:iam::000000000000:role/slsfoo-dev-us-east-1-lambdaRole', 'Handler': 'handler.hello', 'Code': {'S3Bucket': '__local__', 'S3Key': '/Users/brian.edwards/code/spike/slsfoo'}, 'Timeout': 6, 'MemorySize': 1024} for resource: {'Type': 'AWS::Lambda::Function', 'DependsOn': ['HelloLogGroup'], 'LogicalResourceId': 'HelloLambdaFunction', 'Properties': {'Code': {'S3Bucket': '__local__', 'S3Key': '/Users/brian.edwards/code/spike/slsfoo'}, 'Handler': 'handler.hello', 'Runtime': 'nodejs14.x', 'FunctionName': 'slsfoo-dev-hello', 'MemorySize': 1024, 'Timeout': 6, 'Role': 'arn:aws:iam::000000000000:role/slsfoo-dev-us-east-1-lambdaRole'}, '_state_': {}}

Full output from sls is...

Serverless: Using serverless-localstack
Serverless: Skip plugin function Package.packageService (lambda.mountCode flag is enabled)
Serverless: Skip plugin function AwsCompileFunctions.downloadPackageArtifacts (lambda.mountCode flag is enabled)
Serverless: Skip plugin function AwsDeploy.extendedValidate (lambda.mountCode flag is enabled)
Serverless: Creating Stack...
Serverless: Checking Stack create progress...
........
Serverless: Stack create finished...
Serverless: Uploading CloudFormation file to S3...
Serverless: Skip plugin function AwsDeploy.uploadFunctionsAndLayers (lambda.mountCode flag is enabled)
Serverless: Validating template...
Serverless: Skipping template validation: Unsupported in Localstack
Serverless: Updating Stack...
Serverless: Checking Stack update progress...
....
Serverless: Operation failed!
Serverless: View the full error output: https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stack/detail?stackId=arn%3Aaws%3Acloudformation%3Aus-east-1%3A000000000000%3Astack%2Fslsfoo-dev%2Fe3993939

 Serverless Error ----------------------------------------

  An error occurred: slsfoo-dev - UPDATE_FAILED.

  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com

  Your Environment Information ---------------------------
     Operating System:          darwin
     Node Version:              14.4.0
     Framework Version:         2.52.1 (standalone)
     Plugin Version:            5.4.3
     SDK Version:               4.2.5
     Components Version:        3.14.0
bdrozd-tsh commented 3 years ago

Having the same issue while using docker-compose

alexandervantrijffel commented 3 years ago

Same here. When I disable mountCode: True in this section, the function deploy does succeed:

custom:
  localstack:
    #lambda:
      # mountCode: True
whummer commented 3 years ago

Thanks for reporting @bedwards @bdrozd-tsh @alexandervantrijffel . Can you please start up LocalStack with DEBUG=1 enabled in the container environment, and then share the full debug logs that get printed when the error occurs? Thanks!

mdgozza commented 3 years ago

Hi everyone. @whummer I am having the exact same problem and can confirm that disabling mountCode fixes it for me as well. I only enabled this because the docs say to, not quite sure what it does yet.

I went ahead and ran the debug output for you in case you are still interested.


localstack_main | 2021-08-26T01:41:02:ERROR:lambda_api: Exception on /2015-03-31/functions/supply-chain-local-blueRidgeFileReceiver/code [PUT]
localstack_main | Traceback (most recent call last):
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 2070, in wsgi_app
localstack_main |     response = self.full_dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1515, in full_dispatch_request
localstack_main |     rv = self.handle_user_exception(e)
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask_cors/extension.py", line 165, in wrapped_function
localstack_main |     return cors_after_request(app.make_response(f(*args, **kwargs)))
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1513, in full_dispatch_request
localstack_main |     rv = self.dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1499, in dispatch_request
localstack_main |     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 1430, in update_function_code
localstack_main |     result = set_function_code(data, function)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 964, in set_function_code
localstack_main |     run_for_max_seconds(25, _set_and_configure)
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1613, in run_for_max_seconds
localstack_main |     raise result
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1594, in _worker
localstack_main |     fn_result = _function(*args, **kwargs)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 960, in _set_and_configure
localstack_main |     lambda_handler = do_set_function_code(code, lambda_name, lambda_cwd=lambda_cwd)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 992, in do_set_function_code
localstack_main |     lambda_cwd = lambda_cwd or set_archive_code(code_passed, lambda_name)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 925, in set_archive_code
localstack_main |     raise Exception(msg % config.BUCKET_MARKER_LOCAL)
localstack_main | Exception: Please note that Lambda mounts (bucket name "__local__") cannot be used with LAMBDA_REMOTE_DOCKER=1
localstack_main | 2021-08-26T01:41:03:ERROR:lambda_api: Exception on /2015-03-31/functions/supply-chain-local-blueRidgeFileReceiver/code [PUT]
localstack_main | Traceback (most recent call last):
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 2070, in wsgi_app
localstack_main |     response = self.full_dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1515, in full_dispatch_request
localstack_main |     rv = self.handle_user_exception(e)
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask_cors/extension.py", line 165, in wrapped_function
localstack_main |     return cors_after_request(app.make_response(f(*args, **kwargs)))
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1513, in full_dispatch_request
localstack_main |     rv = self.dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1499, in dispatch_request
localstack_main |     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 1430, in update_function_code
localstack_main |     result = set_function_code(data, function)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 964, in set_function_code
localstack_main |     run_for_max_seconds(25, _set_and_configure)
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1613, in run_for_max_seconds
localstack_main |     raise result
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1594, in _worker
localstack_main |     fn_result = _function(*args, **kwargs)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 960, in _set_and_configure
localstack_main |     lambda_handler = do_set_function_code(code, lambda_name, lambda_cwd=lambda_cwd)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 992, in do_set_function_code
localstack_main |     lambda_cwd = lambda_cwd or set_archive_code(code_passed, lambda_name)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 925, in set_archive_code
localstack_main |     raise Exception(msg % config.BUCKET_MARKER_LOCAL)
localstack_main | Exception: Please note that Lambda mounts (bucket name "__local__") cannot be used with LAMBDA_REMOTE_DOCKER=1
localstack_main | 2021-08-26T01:41:04:ERROR:lambda_api: Exception on /2015-03-31/functions/supply-chain-local-blueRidgeFileReceiver/code [PUT]
localstack_main | Traceback (most recent call last):
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 2070, in wsgi_app
localstack_main |     response = self.full_dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1515, in full_dispatch_request
localstack_main |     rv = self.handle_user_exception(e)
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask_cors/extension.py", line 165, in wrapped_function
localstack_main |     return cors_after_request(app.make_response(f(*args, **kwargs)))
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1513, in full_dispatch_request
localstack_main |     rv = self.dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1499, in dispatch_request
localstack_main |     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 1430, in update_function_code
localstack_main |     result = set_function_code(data, function)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 964, in set_function_code
localstack_main |     run_for_max_seconds(25, _set_and_configure)
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1613, in run_for_max_seconds
localstack_main |     raise result
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1594, in _worker
localstack_main |     fn_result = _function(*args, **kwargs)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 960, in _set_and_configure
localstack_main |     lambda_handler = do_set_function_code(code, lambda_name, lambda_cwd=lambda_cwd)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 992, in do_set_function_code
localstack_main |     lambda_cwd = lambda_cwd or set_archive_code(code_passed, lambda_name)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 925, in set_archive_code
localstack_main |     raise Exception(msg % config.BUCKET_MARKER_LOCAL)
localstack_main | Exception: Please note that Lambda mounts (bucket name "__local__") cannot be used with LAMBDA_REMOTE_DOCKER=1
localstack_main | 2021-08-26T01:41:06:ERROR:lambda_api: Exception on /2015-03-31/functions/supply-chain-local-blueRidgeFileReceiver/code [PUT]
localstack_main | Traceback (most recent call last):
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 2070, in wsgi_app
localstack_main |     response = self.full_dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1515, in full_dispatch_request
localstack_main |     rv = self.handle_user_exception(e)
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask_cors/extension.py", line 165, in wrapped_function
localstack_main |     return cors_after_request(app.make_response(f(*args, **kwargs)))
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1513, in full_dispatch_request
localstack_main |     rv = self.dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1499, in dispatch_request
localstack_main |     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 1430, in update_function_code
localstack_main |     result = set_function_code(data, function)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 964, in set_function_code
localstack_main |     run_for_max_seconds(25, _set_and_configure)
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1613, in run_for_max_seconds
localstack_main |     raise result
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1594, in _worker
localstack_main |     fn_result = _function(*args, **kwargs)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 960, in _set_and_configure
localstack_main |     lambda_handler = do_set_function_code(code, lambda_name, lambda_cwd=lambda_cwd)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 992, in do_set_function_code
localstack_main |     lambda_cwd = lambda_cwd or set_archive_code(code_passed, lambda_name)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 925, in set_archive_code
localstack_main |     raise Exception(msg % config.BUCKET_MARKER_LOCAL)
localstack_main | Exception: Please note that Lambda mounts (bucket name "__local__") cannot be used with LAMBDA_REMOTE_DOCKER=1
localstack_main | 2021-08-26T01:41:08:ERROR:lambda_api: Exception on /2015-03-31/functions/supply-chain-local-blueRidgeFileReceiver/code [PUT]
localstack_main | Traceback (most recent call last):
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 2070, in wsgi_app
localstack_main |     response = self.full_dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1515, in full_dispatch_request
localstack_main |     rv = self.handle_user_exception(e)
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask_cors/extension.py", line 165, in wrapped_function
localstack_main |     return cors_after_request(app.make_response(f(*args, **kwargs)))
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1513, in full_dispatch_request
localstack_main |     rv = self.dispatch_request()
localstack_main |   File "/opt/code/localstack/.venv/lib/python3.7/site-packages/flask/app.py", line 1499, in dispatch_request
localstack_main |     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 1430, in update_function_code
localstack_main |     result = set_function_code(data, function)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 964, in set_function_code
localstack_main |     run_for_max_seconds(25, _set_and_configure)
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1613, in run_for_max_seconds
localstack_main |     raise result
localstack_main |   File "/opt/code/localstack/localstack/utils/common.py", line 1594, in _worker
localstack_main |     fn_result = _function(*args, **kwargs)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 960, in _set_and_configure
localstack_main |     lambda_handler = do_set_function_code(code, lambda_name, lambda_cwd=lambda_cwd)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 992, in do_set_function_code
localstack_main |     lambda_cwd = lambda_cwd or set_archive_code(code_passed, lambda_name)
localstack_main |   File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 925, in set_archive_code
localstack_main |     raise Exception(msg % config.BUCKET_MARKER_LOCAL)
localstack_main | Exception: Please note that Lambda mounts (bucket name "__local__") cannot be used with LAMBDA_REMOTE_DOCKER=1```
danw-mpl commented 3 years ago

I'm also getting this problem with AWS SAM, not Serverless Framework.

Localstack version: 0.12.17 running with Docker Compose.

intptr-t commented 2 years ago

I had the same problem with AWS CDK.

LocalStack version: 0.13.0 running with Docker Compose. CDK version: 1.134.0

intptr-t commented 2 years ago

I have published a reproducible CDK sample code.

deviramoji commented 2 years ago

I got similar error , is there any resolution ?

I am using localstack and below is my docker-compose.yml, is the issue accessing the stepfunction ? I ran this command: serverless deploy --stage local and below is the errror in the console.

Serverless: Using custom endpoint for CloudFormation: http://localhost:4566 ..........Serverless: Using custom endpoint for CloudFormation: http://localhost:4566 .Serverless: Using custom endpoint for CloudFormation: http://localhost:4566 .Serverless: Using custom endpoint for CloudFormation: http://localhost:4566 .Serverless: Using custom endpoint for CloudFormation: http://localhost:4566 .Serverless: Using custom endpoint for CloudFormation: http://localhost:4566 .........Serverless: Using custom endpoint for CloudFormation: http://localhost:4566 .Serverless: Using custom endpoint for CloudFormation: http://localhost:4566 . Serverless: Operation failed! Serverless: View the full error output: https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stack/detail?stackId=arn%3Aaws%3Acloudformation%3Aus-east-1%3A000000000000%3Astack%2FVIPER-Problem-Dectection%2F6496fd8f

Serverless Error ----------------------------------------

An error occurred: VIPER-Problem-Dectection - UPDATE_FAILED.

version: '3.1'

services: localstack: image: localstack/localstack:latest environment:

Error I see in the docker image:

[2022-01-13 20:49:17 +0000] [22] [INFO] Running on https://0.0.0.0:4566 (CTRL + C to quit)

2022-01-13T20:49:17:INFO:hypercorn.error: Running on https://0.0.0.0:4566 (CTRL + C to quit)

2022-01-13T20:49:17:INFO:bootstrap.py: Execution of "start_runtime_components" took 508.48ms

2022-01-13T20:50:07:INFO:localstack.services.infra: Starting mock STS service on http port 4566 ...

2022-01-13T20:50:07:INFO:localstack.services.motoserver: starting moto server on http://0.0.0.0:44387

2022-01-13T20:52:23:INFO:bootstrap.py: Execution of "_load_service_plugin" took 5132.56ms

2022-01-13T20:52:23:INFO:localstack.services.infra: Starting mock CloudFormation service on http port 4566 ...

2022-01-13T20:52:23:INFO:bootstrap.py: Execution of "require" took 5205.20ms

2022-01-13T20:52:24:INFO:localstack.services.infra: Starting mock S3 service on http port 4566 ...

2022-01-13T20:52:29:INFO:localstack.services.infra: Starting mock Lambda service on http port 4566 ...

2022-01-13T20:52:29:INFO:localstack.services.infra: Starting mock Lambda service on http port 4566 ...

2022-01-13T20:52:29:INFO:bootstrap.py: Execution of "require" took 540.33ms

2022-01-13T20:52:29:INFO:bootstrap.py: Execution of "require" took 548.52ms

2022-01-13T20:52:32:INFO:localstack.services.infra: Starting mock CloudWatch Logs service on http port 4566 ...

2022-01-13T20:52:32:INFO:localstack.services.infra: Starting mock IAM service on http port 4566 ...

2022-01-13T20:53:03:INFO:localstack.services.infra: Starting mock StepFunctions service on http port 4566 ...

2022-01-13T20:53:11:INFO:bootstrap.py: Execution of "require" took 7751.07ms

**2022-01-13T20:53:12:WARNING:localstack.utils.cloudformation.template_deployer: Error calling <bound method ClientCreator._create_api_method.._api_call of <botocore.client.SFN object at 0x7f77f90dce50>> with params: {'name': 'MyStateMachine', 'definition': '{\n "Co**mment": "A description for Detect IROP Management state machine",\n

lesimoes commented 2 years ago

@bedwards are you tried with docker compose? I solve this issue set LAMBDA_REMOTE_DOCKER=0 as env var. I'll send my docker compose for clarify

version: "3.8"

services:
  localstack:
    container_name: "localstack_customberbox"
    image: localstack/localstack
    network_mode: bridge
    ports:
      - "127.0.0.1:53:53"                # only required for Pro
      - "127.0.0.1:53:53/udp"            # only required for Pro
      - "127.0.0.1:443:443"              # only required for Pro
      - "127.0.0.1:4510-4530:4510-4530"  # only required for Pro
      - "127.0.0.1:4566:4566"
      - "127.0.0.1:4571:4571"
    environment:
      - SERVICES=${SERVICES-}
      - DEBUG=1
      - DATA_DIR=${DATA_DIR-}
      - LAMBDA_EXECUTOR=docker
      - HOST_TMP_FOLDER=${TMPDIR:-/tmp/}localstack
      - DOCKER_HOST=unix:///var/run/docker.sock
      - LAMBDA_REMOTE_DOCKER=0
    volumes:
      - "${TMPDIR:-/tmp}/localstack:/tmp/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"

@danw-mpl have you ever tried with this env var in docker-compose?

michaelangeloio commented 2 years ago

Hi @whummer, thank you for spinning up this amazing framework! Unfortunately, I'm still getting a similar error as above. It might be a silly misconfiguration, but no luck nonetheless. I am using webpack.

  ServerlessError: An error occurred: REDACTED-local - CREATE_FAILED.
      at /Users/angelo.rivera/REDACTED/REDACTED/node_modules/serverless/lib/plugins/aws/lib/monitorStack.js:143:23
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:95:5)
  From previous event:
      at processImmediate (internal/timers.js:464:21)
  From previous event:
      at Object.<anonymous> (/usr/local/lib/node_modules/serverless/scripts/serverless.js:50:4)
      at Module._compile (internal/modules/cjs/loader.js:1085:14)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
      at Module.load (internal/modules/cjs/loader.js:950:32)
      at Function.Module._load (internal/modules/cjs/loader.js:790:12)
      at Module.require (internal/modules/cjs/loader.js:974:19)
      at require (internal/modules/cjs/helpers.js:101:18)
      at Object.<anonymous> (/usr/local/lib/node_modules/serverless/bin/serverless.js:47:1)
      at Module._compile (internal/modules/cjs/loader.js:1085:14)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
      at Module.load (internal/modules/cjs/loader.js:950:32)
      at Function.Module._load (internal/modules/cjs/loader.js:790:12)
      at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12)
      at internal/main/run_main_module.js:17:47

serverless.yaml

  localstack:
    stages:
      - local
    autostart: true  
    lambda:
      mountCode: true

docker-compose

version: "3.7"
x-common-variables: &common-variables
  NODE_ENV: local
  AWS_ACCESS_KEY_ID: local
  AWS_SECRET_ACCESS_KEY: local
  AWS_REGION: us-west-2
  MAIN_CONTAINER_NAME: REDACTED
services:
  localstack:
    container_name: "${MAIN_CONTAINER_NAME}"
    image: localstack/localstack:latest
    ports:
      - ${LOCALSTACK_SERVICE_PORTS}
    environment:
      - SERVICES=s3,sqs,apigateway,lambda,dynamodb,cloudformation,serverless
      - HOSTNAME=localhost
      - HOSTNAME_EXTERNAL=bfs-localstack
      - MAIN_CONTAINER_NAME=bfs-localstack
      - DEBUG=${DEBUG-}
      - DATA_DIR=${DATA_DIR-}
      - HOST_TMP_FOLDER=${TMPDIR:-/tmp/}localstack
      - DOCKER_HOST=unix:///var/run/docker.sock
      - LAMBDA_EXECUTOR=local
      - LAMBDA_REMOTE_DOCKER=0
    volumes:
      - "${TMPDIR:-/tmp}/localstack:/tmp/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - ".webpack/service/src:/.webpack/service/src"
  setup:
    image: amazon/aws-cli
    container_name: bfs-localstack-setup
    volumes:
      - ./offline/setup:/setup
    environment:
      AWS_ACCESS_KEY_ID: local
      AWS_SECRET_ACCESS_KEY: local
      AWS_DEFAULT_REGION: us-west-2
    depends_on:
      - localstack
    entrypoint: [""]
    command: ["/setup/setup.sh"]

Is there a way to point autoStart to a docker-compose file? Maybe the issue is that I'm starting the services before the mount is able to happen. But I would like to use docker-compose as it will allow me to modify local resources before deploying the lambda.

Container logs:

bfs-localstack        | 2022-05-14T22:31:47.925:DEBUG:localstack.utils.cloudformation.template_deployer: Error applying changes for CloudFormation stack "bfs-local": An error occurred (InternalFailure) when calling the CreateFunction operation (reached max retries: 4): Unknown error: [Errno 2] No such file or directory: '/Users/angelo.rivera/REDACTED/.webpack/service/src/handler.js' Traceback (most recent call last):
bfs-localstack        |   File "/opt/code/localstack/localstack/utils/files.py", line 118, in ensure_readable
bfs-localstack        |     with open(file_path, "rb"):
bfs-localstack        | FileNotFoundError: [Errno 2] No such file or directory: '/Users/angelo.rivera/REDACTED/.webpack/service/src/handler.js'
bfs-localstack        |
bfs-localstack        | During handling of the above exception, another exception occurred:
bfs-localstack        |
vito-c commented 2 years ago

I was getting the same above error then when I turned on DEBUG=1 I got the actual error output.

Exception: An error occurred (InvalidParameterValueException) when calling the CreateFunction operation: Unzipped size must be smaller than 262144000 bytes

Can you please have this error bubble up to the client so that we don't spend time trying to figure out what is wrong with our setup?

daveykane commented 1 year ago

I'm also getting the same error but it shows the bucket store_s3_bucket_archive doesn't exist

botocore.errorfactory.NoSuchBucket: An error occurred (NoSuchBucket) when calling the GetObject operation: The specified bucket does not exist
steffyP commented 11 months ago

Hi @daveykane, do you still have issues with your deployment? If yes, could you please share a code snippet? 🙏 Please also make to pull the latest localstack image, as we have provided several fixes in the meantime.

daveykane commented 11 months ago

@steffyP, I'm no longer working on the project which had this issue, apologies

steffyP commented 11 months ago

Thanks for the reply.

As I wasn't able to reproduce any of the above mentioned issues, we will close the ticket now. Please open a new issue if you still encounter problems with the latest version of LocalStack and the localstack-serverless plugin.