Open jsoref opened 11 months ago
Not sure it's related ... but as of upgrading ArgoCD (from 2.7.14 to 2.8.4), I'm seeing similar messages. For just any object, eg:
Resource not found in cluster: v1/ConfigMap:cronjob-tektonruns-garbage-collect-7h57hctc55 Please update your resource specification to use the latest Kubernetes API resources supported by the target cluster. The recommended syntax is v1/ConfigMap:cronjob-tektonruns-garbage-collect-7h57hctc55
Object is present in cluster though. Application shows healthy, it's not OutOfSync. I would just get that message when looking at individual resources "Live Manifest" in ArgoCD console.
This affects all objects in my applications: Services, ConfigMaps, NetworkPolicies ... Although I don't have that "undefined/undefined" thing ...
Still testing 2.8 / first installation I'm upgrading. I can confirm this is a not an issue, with exact same applications, running 2.7.14 Using that OpenShift GitOps operator lifecycling my ArgoCD -- ArgoCD object did not change in a while, as we did proceed with sso/dex reconfiguration when upgrading from 2.6 to 2.7.
Sorry, that's a different issue. If I were you, I'd join slack to debug and then file a ticket (feel free to reference it here so people can find it if they stumble on your note here instead of the new ticket).
I am. Still I'm wondering: does the live manifest view works at all? You may be having two problems here.
Yes, live manifest works fine for everything else.
I am also experiencing the same issue. My version of ArgoCD is 2.9.1. In my case, it was a pod, and I couldn't delete this pod through any method supported by ArgoCD. Note that the actual pod had already been deleted. However, removing the owner allowed me to delete this pod.
@jsoref: is your issue resolved? I am also facing same issue and getting error message something like "Resource not found in cluster: undefined/undefined:ly-job-a67f890-postsync-1707682950"
if you have some workaround. Please suggest.Thanks
No, it isn't resolved. I just deal with it.
We just upgraded our ArgoCD from 2.7.6 to 2.10.1 and we are facing a similar issue
Resource not found in cluster: v1/ConfigMap:bitbucket-runner-configs-59t96976td Please update your resource specification to use the latest Kubernetes API resources supported by the target cluster. The recommended syntax is v1/ConfigMap:bitbucket-runner-configs-59t96976td
Sorry, that's a different issue. If I were you, I'd join slack to debug and then file a ticket (feel free to reference it here so people can find it if they stumble on your note here instead of the new ticket).
I think it's still related because when I look into the live manifest tab of the pod, I am getting
Resource not found in cluster: undefined/undefined:bitbucket-runner-7c87665b77-m886p
Oh, sorry, I didn't see that in what you pasted earlier. Yes, that's this problem :).
Fwiw, this is more about error reporting than fixing the underlying problem causing any given error.
Fwiw, this appears to have been introduced by @ashutosh16 in #13031 -- it's odd, because there are screenshots of it working there, so, presumably the feature works some of the time.
The relevant code is: https://github.com/argoproj/argo-cd/blob/891d08930470675c8851909254b0b5bd45eb79f0/ui/src/app/applications/components/application-node-info/application-node-info.tsx#L240-L241
Are you missing the cluster rbac for the server
component?
I had the same issues myself after install ArgoCD v2.10.1. I've followed the official install instructions (https://argo-cd.readthedocs.io/en/stable/getting_started/, with the only difference that I've use a custom namespace for installation (argocd-test)
kubectl create ns argocd-test
kubectl apply -n argocd-test -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/core-install.yaml
Errors:
Resource not found in cluster: v1/ConfigMap:public-ingress-controller-test
Please update your resource specification to use the latest Kubernetes API resources supported by the target cluster.
The recommended syntax is v1/ConfigMap:public-ingress-controller-test
Unable to delete resource: error deleting resource: configmaps "public-ingress-controller-test" is forbidden:
User "system:serviceaccount:argocd-test:argocd-server" cannot delete resource "configmaps" in API group "" in the namespace "lu-ingress-controller"
Resolution:
argocd
namespace for the argocd-server
ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app.kubernetes.io/component: server
app.kubernetes.io/name: argocd-server
app.kubernetes.io/part-of: argocd
name: argocd-server
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: argocd-server
subjects:
The solution in my case was to adapt the argocd-server
ClusterRoleBinding to also include the argocd-server
serviceAccount from my custom namespace argocd-test
. Basically, under subjects I've added the following 2 lines:
subjects:
- kind: ServiceAccount
name: argocd-server
namespace: argocd-test
i'm facing the same issue. I've deployed argocd 2.10.2 in cluster setup with the applications in any namespace, i've made the proper configuration and deployed https://github.com/argoproj/argo-cd/tree/master/manifests/cluster-rbac too.
But my application keeps syncing
Actually the deployment/ingres/networkpolicy are deployed and healthy but argo does not seems to detect them.
Any idea what am i missing here?
I was having this issue in our helm values file we had some custom config for server.clusterRoleRules.rules
and had server.clusterRoleRules.enabled: true
that was overriding default config notice:
{{- if .Values.createClusterRoles }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ include "argo-cd.server.fullname" . }}
labels:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
rules:
{{- if .Values.server.clusterRoleRules.enabled }}
{{- toYaml .Values.server.clusterRoleRules.rules | nindent 2 }}
{{- else }}
- apiGroups:
- '*'
had to remove the custom rules and server.clusterRoleRules.enabled: false
same as in default argocd values file. and now I can see all resources just fine
ArgoCD versions 2.10 and below have reached EOL. Can you upgrade and let us know if the issue is still present, please?
Unless someone has fixed this, it's almost certainly still present. Reproducing it requires a resource to be visible long enough to try to click on it but to be gone by the time argocd tries to ask questions about it (effectively a race). I don't really have the energy to try to produce this race at this time.
Further, if you're going to comment on 100 of my issues asking me to reproduce, I'll get even grumpier. Please be nice to contributors who have filed lots of tickets. Your comment is cheap, the work required for me to respond to each of them is not.
There were ~1600 open bugs, so at least some managing is needed. I know my comment is less than ideal, but I don't see a better way to prioritize at this point. Also, there's no easy way to tell if the issue got fixed. For example, perf improvements in 2.13 for getting application tree can fix a whole class of refresh-related issues, but there's no 100% way to know.
I'll try to improve the situation with issues that don't get as much attention, but it'd take time and require multiple steps. For now sure, I won't ping your issues asking to reproduce.
Because we happened to trip on it today, here's a screenshot from v2.12.4+27d1e64:
Same here. We are also seeing this exact issue. v2.12.3+6b9cd82
Checklist:
argocd version
.Describe the bug
the details for a not found resource reflected
undefined/undefined:
To Reproduce
cert-manager-startupapicheck
will appear and can be clicked (?)cert-manager-startupapicheck
will probably already be gone? so a confusing error will be rendered by argocdnote that for a while longer i could ask argocd to filter for service accounts and see it, but i couldn't click it to actually show the item... and it eventually stopped appearing...
Expected behavior
information about expect objects should be stored in the request pointer so that they can be filled in in cases when they no longer exist instead of asking the ui to imagine them after the fact
Screenshots
Version
Logs