Add new lambda runtimes and more parity fixes#9697
Merged
Conversation
7f440ef to
d51147c
Compare
dfangl
approved these changes
Nov 22, 2023
Member
dfangl
left a comment
There was a problem hiding this comment.
LGTM, great set of changes! I think the marker for tests that need to be run for an update is a great idea!
joe4dev
commented
Nov 22, 2023
| "Error": { | ||
| "Code": "ValidationException", | ||
| "Message": "1 validation error detected: Value 'arn:aws:something' at 'resource' failed to satisfy constraint: Member must satisfy regular expression pattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" | ||
| "Message": "1 validation error detected: Value 'arn:aws:something' at 'resource' failed to satisfy constraint: Member must satisfy regular expression pattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:(function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?|layer:[a-zA-Z0-9-_]+)" |
Member
Author
There was a problem hiding this comment.
I didn't look into the implications of the added layer part for the implementation here
1 task
1 task
1 task
This was referenced Nov 22, 2023
This was referenced Nov 23, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Superseeds #9659 (Node 20) and #9685 (Java 20)
Big kudos to our community members @ataylorme and @eddumelendez for your initiative and efforts 👏👏👏 🥳
Motivation
AWS recently announced new Lambda runtimes (based on AL2023 such as Nodejs 20.x) and our currently supported runtimes have become outdated. Furthermore, more runtime changes including deprecations and new runtimes are expected to come in the future.
Updating runtimes is currently too cumbersome and many effects (both from us and contributors) are incomplete and need to be followed up by bugfixes.
Changes
This PR fixes AWS-parity for Lambda and updates many snapshots:
nodejs20.x,python3.12(not yet in the docs but already live),java21,provided.al2023(see https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)nodejs12.xanddotnetcore3.1to aDEPRECATED_RUNTIMESlist but keep them available in LocalStack for now. We log a deprecation warning upon creating or updating deprecated runtimes.lambda_runtime_updateto filter test cases related to Lambda runtime updates for easier snapshot updates. This allows us to keep the tests grouped logically and easily update snapshots related to runtime updates.RequestEntityTooLargeException) and a new higher limit for request size. Like in AWS, users will see the clearer zipped file size exception rather than the more confusing request size too large exception.test_vpc_configIdea for v4
Having an opt-in flag such as
LAMBDA_EXTENDED_RUNTIMESwould enable deprecated as well as upcoming preview runtimes while maintaining full AWS parity.TODO
What's left to do:
Follow Ups
LAMBDA_EXTENDED_RUNTIMESLAMBDA_LIMITS_CREATE_FUNCTION_REQUEST_SIZEto new default70_167_211Add new Lambda config LAMBDA_LIMITS_CODE_SIZE_ZIPPED docs#933