-
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] Cluster.addHelmChart no longer respecting repository field. #11477
Comments
I think I've identified a pattern where this is happening when I run multiple helm charts in a CDK. Is it possible the repository field is leaking between addHelmChart? |
I've been able to consistently generate this problem across different accounts. The error also doesn't always bubble up so neatly in Cloudformation. I've seen another case where the error is similar and points to the same line of code within the Python Lambda function. But the message from the Exception is empty. |
@ten-lac Taking your example, i'm unable to successfully deploy it even once. I've dug around the logs and extracted the command that eventually gets executed:
I've tried running this command locally against my EKS cluster: ❯ helm upgrade prometheus-operator prometheus-operator --install --repo https://kubernetes-charts.storage.googleapis.com/ --version 9.3.2 --namespace default --timeout 600s --kubeconfig /tmp/kubeconfig [19:36:08]
Release "prometheus-operator" does not exist. Installing it now.
Error: failed to download "https://charts.helm.sh/stable/prometheus-operator-9.3.2.tgz" (hint: running `helm repo update` may help) I got the same error. Whats happening is that because the chart isn't found in the specified repo, helm attempts to fetch it from the default one, making it seem as if it ignores the Looking at the In contrast, if i run the exact same command, but with a chart that does exist in that repo: ❯ helm upgrade acs-engine-autoscaler acs-engine-autoscaler --install --repo https://kubernetes-charts.storage.googleapis.com/ --version 2.1.2 --namespace default --timeout 600s --kubeconfig /tmp/kubeconfig [19:39:39]
Release "acs-engine-autoscaler" does not exist. Installing it now.
NAME: acs-engine-autoscaler
LAST DEPLOYED: Mon Nov 23 19:39:47 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
##############################################################################
#### ERROR: You are missing required values in the values.yaml file. ####
##############################################################################
This deployment will be incomplete until all the required fields in the values.yaml file have been provided.
To update, run:
helm upgrade acs-engine-autoscaler \
--set acsenginecluster.resourcegroup=YOUR-RESOURCEGROUP-HERE,acsenginecluster.azurespappid=YOUR-AZURESPAPPID-HERE,acsenginecluster.azurespsecret=YOUR-AZURESPSECRET-HERE,acsenginecluster.azuresptenantid=YOUR-AZURESPTENANTID-HERE,acsenginecluster.kubeconfigprivatekey=YOUR-KUBECONFIGPRIVATEKEY-HERE,acsenginecluster.clientprivatekey=YOUR-CLIENTPRIVATEKEY-HERE stable/acs-engine-autoscaler Now, the chart is recognized and fails because of missing input values, which is the expected result. Long story short, it seems that the chart you are trying to install does not exist in the repository. Perhaps they removed it recently? Can you try running the command i posted here locally and see what happens? If you're getting the same error, that means the problem is not with CDK, but most likely external. Thanks |
@iliapolo, I wonder if there is a defect with The source of the https://kubernetes-charts.storage.googleapis.com/prometheus-operator-9.3.2.tgz I had the same thought as you that the chart was yanked. I also thought maybe I had the ~/git/tenna-llc
> helm repo add kubernetes-charts1 https://kubernetes-charts.storage.googleapis.com/
"kubernetes-charts1" has been added to your repositories
~/git/tenna-llc took 25s 758ms
> helm search repo prometheus-operator
NAME CHART VERSION APP VERSION DESCRIPTION
kubernetes-charts1/prometheus-operator 9.3.2 0.38.1 DEPRECATED Provides easy monitoring definitions... Version of Helm. > helm version
version.BuildInfo{Version:"v3.3.3", GitCommit:"55e3ca022e40fe200fbc855938995f40b2a68ce0", GitTreeState:"dirty", GoVersion:"go1.15.2"} |
@ten-lac it looks like after you added the repo it does recognize the chart. Were you able to get the command working eventually? |
Yes, I am able to get it to work with helm locally. Is there a similar tactic to get this to work on cloud formation? |
@ten-lac can you share the exact commands you are running? |
@iliapolo, looks like the https://kubernetes-charts.storage.googleapis.com/ is going through a deprecation phase? The But here is how I got it to work locally. Works quickly helm repo add stable https://charts.helm.sh/stable
helm template prometheus-operator stable/prometheus-operator --version 9.3.2 --namespace default --timeout 600s Works slowly helm template prometheus-operator prometheus-operator --repo https://charts.helm.sh/stable --version 9.3.2 --namespace default --timeout 600s When running this with CDK, Cloudformation still ejects with error.
|
@ten-lac there is definitely a lot of deprecation and relocations happening. Specifically, the I can't say I fully understand whats happening, because it seems the Since this doesn't seem like a CDK issue, i'm gonna close this out, please let me know if you feel differently. Thanks |
|
@ten-lac Sorry, re-opening since I didn't carefully read your last message. You mention:
Are you sure this is the same phenomena? I dont see the |
That error that I referenced is all I got from cloud watch for the ERROR entry. I am sure that run I did generated the error since I correlated the time. I hadn’t run any updates on that stack for days prior. Made this error easy to spot. |
What do you mean for the |
@iliapolo , this is the log file that encapsulates the above error. |
@ten-lac in the error log you attached I also see: REPORT RequestId: 76ab1c51-de28-439f-b83d-a01c80dc310f Duration: 47374.59 ms Billed Duration: 47400 ms Memory Size: 256 MB Max Memory Used: 257 MB Could you try giving the function more memory by using the aws lambda console and see if this is the root cause? We currently don't support passing custom memory limits but this can be escape hatched. |
I think these errors are coming from |
|
The
HelmChartOptions
interface forCluster.addHelmChart
allows for arepository
field which allows the pointing of the repository to pull the helm chart from. This no longer works.Reproduction Steps
Also, the following CF stanza was generated
What did you expect to happen?
Expected Helm chart to install without error. I do not expect the chart to be pulled from
charts.helm.sh
repo whenhttps://kubernetes-charts.storage.googleapis.com
has been specified.What actually happened?
Environment
Other
This is 🐛 Bug Report
The text was updated successfully, but these errors were encountered: