-
Notifications
You must be signed in to change notification settings - Fork 706
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
Some Chart versions hidden from dropdown when deploying an application #3588
Comments
Hey @cristian-aldea . Thanks for the report. Yes, as part of switching to the new API, we've switched to returning a summary of the available versions rather than the complete history (which was huge for some repos). This summary currently has the latest 3 patch versions of the latest 3 minor versions of the latest 3 major versions (See an explicit test of this). But this isn't the end goal (yet). The main reason for this was to move away from returning all versions in the API response as for repos with years of history, it gets very large and is not normally what people want. The ideal situation is a UX that presents a useful (customizable) summary by default, but still allows access to any version. This would require two further changes I think:
From what you've said, I think (1) would solve your immediate problem Cristian? (as you could restore the previous behavior or some variation that better suits your repositories usage). (1) is going to be something we can do quickly, perhaps for the next release, while (2) could take a bit longer to schedule and get done with our current resources. Let me know what you think. |
I see, thank you so much for the quick response explaining the issue. Yes (1) would allow us to quickly address the issue for now and (2) would be nice, since indeed some older versions aren't as relevant, but might still be useful to deploy for testing and such. |
Just quickly, for my own information, when was this change in the api made? |
Also, let us know when these features will be implemented so we can organize the upgrade on our side. Now that we know what the behavior actually is we'll be able to manage it for now. |
We switched the create and update UX functions over to the new API with https://github.com/kubeapps/kubeapps/releases/tag/v2.4.1 so I assume it was that release (so 10 days ago).
Will do, we'll discuss it in our next planning meeting (one week from now) and update it then (perhaps doing the first part in the next iteration). Let us know if it's not tenable to manage the issue and we'll give it a higher priority. |
Hello, please let me know through this issue when the |
Will do @cristian-aldea . One of our new team members has started looking at this issue. Once you see the issue closed then it'll be in the following release. |
@satya-dillikar Some pre-implementation notes about passing config for plugins, based on our earlier calls. The main issue here is that we don't want to simply add an So we want to enable configuration to be passed to any configured plugin (or implementations of a core API) without the kubeapps-apis binary caring about the format itself (it'll be up to the plugin to validate the config). One solution that we talked about in our call was to enable, in the values.yaml, a kubeappsapis:
enabledPlugins:
- helm
pluginConfig:
core:
packages:
v1alpha1:
versionsInSummary:
major: 6
helm:
packages:
v1alpha1:
someOtherConfig: some-value This will be turned into json data within a config map and mounted as a volume for the kubeapps-apis deployment (the same way that we do for the clusters configuration in a few deployments, including the kubeapps-apis) Originally (during our call) I had thought we should send only the relevant plugin config sections to each plugin, but reality is all plugins have disk access so it's enough for each plugin to just parse the bits they're interested in. The kubeapps-apis binary itself will be updated to include an arg, This will enable each plugin to read the (read-only) file and parse just the bits they are interested in. As an example, for the helm plugin it would do something like the following: https://play.golang.org/p/B92n0zD3yyc This allows us to have config for each version of each plugin if necessary, without spilling over into the kubeapps-apis binary args . Let me know if you have any questions or objections Satya :) |
In terms of breaking that up into small PRs, one possibility is:
|
Thank you so much for implementing a fix for our issue! Looking forward to the new release :) |
Hi there I'm using kubeapps helm version 12.2.4/ App version 2.6.2 and the issue still happens. pluginConfig: |
Hi @linhvuntu . Just to double-check, the kubeapps/chart/kubeapps/values.yaml Lines 1494 to 1514 in a82349e
It looks as though you're seeing the default (of 3) because your specified values are having no effect (which makes sense if the |
Hi @absoludity , how to specify the I have tried to set the |
Hi @linhvuntu . You shouldn't need to set
From your previous example above, it looked like you thought |
Hi @absoludity , ok now I get what it means by
And it's still not working. When checking the startup log, it show like this Does it mean the custom config is "false" to setup? |
So that config looks fine then. If I run Kubeapps without that config and check the logs of the kubeapps-apis server pod, I see that the helm custom config is
If I update to use your above config, I see
Can you please check the logs of your kubeapps-apis server to see whether it's reading the config in and getting |
So I tried to create a brand new kubeapps with Helm
So it seems updated successfully, but when checking the Package Version dropdown list, it still display in with the setting of The Helm package I'm checking is the public ingress-nginx chart from Kubernetes here: https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx When I check the this chart versions from terminal, it shows full list of versions as below
But from the Package Version dropdown list in the Kubeapps Dashboards, it show only
For some specific reason, we need to use the Chart version 4.2.5 but it is not displayed. Do I need to config anything else at the kubeappsController or elsewhere? I have cleared cache, use another laptop to check but it's still the same |
Thanks for the detail, I'm turning that into a separate bug report to investigate the regression - see #6020. Let's discuss it there. |
Description:
We’re running into a very strange bug and need help since it’s affecting customers of our infrastructure product.
We use Kubeapps for customers to deploy applications, and we use Chartmuseum to store charts for them to use. However, when we want to select a version of an application to deploy, some versions are hidden.
I’ve done some testing, and all the versions we offer are indeed available in chartmuseum, they show up when we GET on /api/charts/chart-name, and they can be pulled using “helm pull” to get the tar bundle. However it seems that Kubeapps is failing to show all these versions in the dropdown. For example, we start off by seeing the versions 1.19.4, 1.19.5, and 1.19.6:
but when a test chart like 1.19.7-CCT-XXXX (a test chart created for testing changes introduced by a ticket) is uploaded, some versions start disappearing.
However, I know for sure that Kubeapps knows about these hidden versions, since older applications deployed using these versions can still be accessed:
as opposed to showing us an error about the chart version not existing:
This leads me to believe that the dropdown is bugged in some way. We just started running into this issue, and it seems (not 100% sure on this) to start occurring when test charts (X.X.X-ABC-XXXX) are uploaded. Please tell us if you know anything about why this is happening. thank you for the help
Slack message: https://kubernetes.slack.com/archives/C9D3TSUG4/p1634139332089700
Our version history:
oct 6: we updated kubeapps chart to 7.5.4, app version 2.4.0
sept 9: we updated kubeapps chart to 7.4.0, app version 2..4.0
july 7, we updated kubeapps chart to 7.1.2, app version 2.3.2
Steps to reproduce the issue:
Describe the results you received:
Some chart versions don't show in the dropdown
Describe the results you expected:
All chart versions show up in the dropdown
Additional information you deem important (e.g. issue happens only occasionally):
We use particular version names when deploying test charts (chart which include changes related to a ticket). These charts have the format X.X.X-TICKET. This might be unexpected and might be partially causing the issue. but we've been doing this for years without running into this issue before.
Version of Helm, Kubeapps and Kubernetes:
helm version
:helm list -n <kubeapps-namespace> <kubeapps-release-name>
:kubectl version
:The text was updated successfully, but these errors were encountered: