-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
awscdk-kubectl-go: KubectlLayer modules out of date, broken by Python 3.7 runtime removal #29123
Comments
Thank you for the report. We'll look into this issue. |
Hey @jaredhancock31 for raising this issue, Can you elaborate more about your issue, as I am able to create a Lambda function with Python 3.9 using see the following snippets:
This is the synthesized template:
|
If you want to use the latest supported Python version (python 3.12), you can upgrade the See the following snippets:
synthesized template:
|
@jaredhancock31, I hope my answers help address your concerns. |
re: your first reply - we don't make our own lambda layer , we just import the AWS-published ones and plug it into the cluster construct. Up til now there was never a need to implement our own kubectl layer in order for EKS stacks to function. The guidance we got was to upgrade to the latest CDK, but unfortunately that's a large jump for us and it will take some time to fully test all the changes in latest. In general it was just a surprise to us that the code we import from AWS repos suddenly stopped working. |
@moelasmar we're going to proceed in trying to get caught up to latest CDK. Not sure how we can avoid situations like this in the future, but I suppose since there's a path forward we can close this. |
you can still use the latest python runtime without upgrading your CDK version
|
Thanks @jaredhancock31 for raising this issue. I will mark this issue as closed. If you have any more concerns or questions, please open a new issue. |
|
Describe the bug
Python 3.7 runtime support was recently dropped.
For those who use aws-cdk-go, we have to import separate KubectlLayers after K8s 1.21. But these layers are extremely outdated, and now broken.
1.25 example: https://github.com/cdklabs/awscdk-kubectl-go/blob/kubectl.25/kubectlv25/go.mod#L7
they all use aws-cdk 2.28 and are still on Go 1.18.
We use aws-cdk-go and these layer libraries in production, so this prevents any stack updates until we hack a workaround or new tags are pushed in the cdklabs repo.
Expected Behavior
EKS cluster stack should successfully be created
Current Behavior
stack fails with errors like
Embedded stack XXXX-awscdkawseksKubectlProviderNestedStackawscdkawseksKubectlPro-XXXXXX was not successfully created: The following resource(s) failed to create: [Handler886CB40B]
"The runtime parameter of python3.7 is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (python3.12) while creating or updating functions. "
when checking the rendered cloudformation it looks like this:
Reproduction Steps
create an awseks.Cluster construct with kubectl layer like so:
Possible Solution
update libs at https://github.com/cdklabs/awscdk-kubectl-go
Additional Information/Context
No response
CDK CLI Version
2.80.0
Framework Version
No response
Node.js Version
18
OS
Mac/Linux
Language
Go
Language Version
1.20
Other information
No response
The text was updated successfully, but these errors were encountered: