Skip to content
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

Dashboard shows multiple application for single operator #3574

Closed
foal opened this issue Oct 11, 2021 · 10 comments · Fixed by #3968
Closed

Dashboard shows multiple application for single operator #3574

foal opened this issue Oct 11, 2021 · 10 comments · Fixed by #3968
Assignees
Labels
component/ui Issue related to kubeapps UI good first issue kind/enhancement An issue that reports an enhancement for an implemented feature
Projects

Comments

@foal
Copy link

foal commented Oct 11, 2021

Description:

I see multiple copies of the installed operator(s) in the application list:
image

Steps to reproduce the issue:

  1. install operator (I scale kiali, but the same was with cert-manager)
  2. Not sure - apply several changes of CR (kubectl apply -n istio-system -f kiali-install.yaml)
  3. Go to applications (any NS)
  4. select "Show apps in all namespaces"

Describe the results you received:

See multiple copies of plate "A configuration file for a Kiali installation."

Describe the results you expected:

See only one plate per installed operator (or per CR instance of CRD?)

Additional information you deem important (e.g. issue happens only occasionally):

N/A

Version of Helm, Kubeapps and Kubernetes:

  • Output of helm version:
version.BuildInfo{Version:"v3.7.0", GitCommit:"eeac83883cb4014fe60267ec6373570374ce770b", GitTreeState:"clean", GoVersion:"go1.16.8"}
  • Output of helm list -n istio-system:
NAME    NAMESPACE       REVISION        UPDATED STATUS  CHART   APP VERSION
  • Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.2", GitCommit:"8b5a19147530eaac9476b0ab82980b4088bbc1b2", GitTreeState:"clean", BuildDate:"2021-09-15T21:38:50Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.2", GitCommit:"8b5a19147530eaac9476b0ab82980b4088bbc1b2", GitTreeState:"clean", BuildDate:"2021-09-15T21:32:41Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}

@project-bot project-bot bot added this to Inbox in Kubeapps Oct 11, 2021
@absoludity
Copy link
Contributor

  • select "Show apps in all namespaces"

What's the behaviour without "Show apps in all namespaces?"

@foal
Copy link
Author

foal commented Oct 12, 2021

So operator installed into operators NS,
CR managed by it defined in istio-system NS

Without "Show apps in all namespaces" I see only one instance in istio-system NS
image
If I switch it I see multiple instances
image
If I change context (with enabled "Show apps in all namespaces") I do not see any operators at all
image

@absoludity
Copy link
Contributor

And what's the output of kubectl get --all-namespaces clusterserviceversions?

@foal
Copy link
Author

foal commented Oct 12, 2021

NAMESPACE          NAME                     DISPLAY          VERSION   REPLACES                 PHASE
bookinfo           kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
calico-apiserver   kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
calico-system      kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
cert-manager       kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
default            kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
external-dns       kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
istio-operator     kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
istio-system       kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
keycloak           kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
kube-node-lease    kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
kube-public        kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
kube-system        kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
kubeapps           kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
loki               kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
olm                kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
olm                packageserver            Package Server   0.19.1                             Succeeded
openebs            kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
operators          kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
prometheus         kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
tigera-operator    kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
traefik            kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded
velero             kiali-operator.v1.41.0   Kiali Operator   1.41.0    kiali-operator.v1.40.1   Succeeded

@absoludity
Copy link
Contributor

So that's why, when you select all namespaces, you see a separate kiali-operator app for each namespace. It's been a while since I've refreshed my OLM knowledge, but I thought a ClusterServiceVersion is either installed in the olm namespace or a specific namespace if you don't want it to be available for all namespaces. In your case you have the kiali-operator.v1.41.0 CSV in all namespaces (including the olm namespace). Is that intentional? From your issue description above (step 2), it looks like you may have intended for it to be only in the istio-system ns?

@foal
Copy link
Author

foal commented Oct 13, 2021

My OLM knowledge is, even more, worse than your :) Yes, in this case, the operator had to be installed in the single NS. But the issue is not about it. Sometimes the operator should be installed across all NS.

I understand why it happened, but it looks like an error. I think the best solution was to show the operator in some NS only if the NS contains CR(D) managed by the operator. And reflect the CRD type in UI

@stale
Copy link

stale bot commented Oct 28, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale Automatic label to stale issues due inactivity to be closed if no further action label Oct 28, 2021
@foal
Copy link
Author

foal commented Oct 28, 2021

At least reflect the NS on the operator plate.

@stale stale bot removed the stale Automatic label to stale issues due inactivity to be closed if no further action label Oct 28, 2021
@ppbaena ppbaena added awaiting-more-evidence Need more info to actually get it done. component/ui Issue related to kubeapps UI kind/enhancement An issue that reports an enhancement for an implemented feature priority/low good first issue and removed awaiting-more-evidence Need more info to actually get it done. labels Nov 8, 2021
@ppbaena ppbaena moved this from Inbox to Backlog in Kubeapps Nov 8, 2021
@ppbaena ppbaena moved this from Backlog to Next iteration discussion in Kubeapps Nov 22, 2021
@ppbaena ppbaena moved this from Next iteration discussion to Committed in Kubeapps Nov 22, 2021
@ppbaena ppbaena moved this from Committed to Next iteration discussion in Kubeapps Nov 22, 2021
@ppbaena ppbaena moved this from Next iteration discussion to Committed in Kubeapps Dec 14, 2021
@castelblanque castelblanque moved this from Committed to In progress in Kubeapps Dec 15, 2021
@castelblanque
Copy link
Collaborator

There are errors also in FE:
image

@castelblanque
Copy link
Collaborator

The above is caused by FE placing exactly the same request as many times as amount of namespaces existing.
But all requests are placed without namespace (equals "").

image

Therefore, all responses are the same and the same tile/card appears repeated many times.

image

However, if the right namespace and right endpoint is used (e.g. /api/clusters/default/apis/kiali.io/v1alpha1/namespaces/kubeapps/kialis), there are no resources returned.

castelblanque pushed a commit that referenced this issue Dec 16, 2021
Signed-off-by: Rafa Castelblanque <rcastelblanq@vmware.com>
@castelblanque castelblanque moved this from In progress to Waiting For Review in Kubeapps Dec 16, 2021
Kubeapps automation moved this from Waiting For Review to Done Dec 16, 2021
castelblanque added a commit that referenced this issue Dec 16, 2021
Signed-off-by: Rafa Castelblanque <rcastelblanq@vmware.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/ui Issue related to kubeapps UI good first issue kind/enhancement An issue that reports an enhancement for an implemented feature
Projects
No open projects
Kubeapps
  
Done
Development

Successfully merging a pull request may close this issue.

5 participants