-
Notifications
You must be signed in to change notification settings - Fork 4k
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
[aws-eks] allow specifying timeouts for HelmCharts #8215
Comments
It would be possible to allow timeouts of up to 15m. @pahud is this something you'd be interested to pick up? |
@eladb Sure! The interesting thing is the Kubelctl Provider default timeout is 15min now.
And the error message provided doesn't seem to be a lambda timeout 3/9 | 3:05:54 PM | CREATE_FAILED | Custom::AWSCDK-EKS-HelmChart | spinnaker/Resource/Default (spinnakerC4B2DB2C) Failed to create resource. TimeoutError: Connection timed out after 120000ms I'll try re-produce it in my environment and check the logs. |
We are getting the same error while running: cluster.addChart('Prometheus', {
chart: 'prometheus-operator',
repository: 'https://kubernetes-charts.storage.googleapis.com/',
version: '8.13.8',
namespace: 'default'
}); |
I can confirm that there is a timeout from the AWS SDK (as specified here) and it can solved by adding to the provider framework code: lambda.config.update({httpOptions: { timeout: 900000 }}); I will make a PR soon to fix this. |
It sounds like an underlying http timeout between the provider framework and the kubectl provider which executes the helm command. Is the fix working in your environment? @eduardomourar |
Yes, so far so good. My helm charts are taking about 3 minutes to deploy and without any issue now. I believe the issue is that the invokeFunction used by the provider framework has this 2 minutes timeout, so it was not honoring the overall timeout (15 minutes) set for the target lambda. |
This creates an additional option called `timeout` that will be passed down whenever deploying helm chart to an EKS cluster. In order to allow the timeout parameter to work while performing helm commands, the provider framework has to honor the maximum timeout of 15 minutes from target process (lambda in this case). closes #8215 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
For long running helm charts the creation times out.
Reproduction Steps
I had this issue with the following resource (based on a minimal cluster defined through the CDK Cluster component).
Error Log
3/9 | 3:05:54 PM | CREATE_FAILED | Custom::AWSCDK-EKS-HelmChart | spinnaker/Resource/Default (spinnakerC4B2DB2C) Failed to create resource. TimeoutError: Connection timed out after 120000ms
Environment
Other
The helm command has an option for timeout, and in fact the chart I was trying to run (stable/spinnaker) suggests a timeout of 600s: https://github.com/helm/charts/blob/master/stable/spinnaker/README.md. I believe that the chart should add timeout as a option:
aws-cdk/packages/@aws-cdk/aws-eks/lib/helm-chart.ts
Lines 8 to 50 in 86eac6a
1.41.0 (build 9e071d2)
This is 🐛 Bug Report
The text was updated successfully, but these errors were encountered: