-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
Application in any namespace | Synced with NO resources deployed #11638
Comments
@ironoa
and
in the helm Chart ? |
Aside: try to very, very quickly narrow the |
indeed, application.namespaces parameter is taken by both the controller and the server In particular, so far:
The outcome is always:
The biggest problem is the fact I haven't been able to spot an error message anywhere so far |
Was able to make I had no other choices then to kill the pods to make them reload the config. Hope that helps! |
just to be meticulous, tried also that: not working |
Using kustomize would look somehow like this:
|
@ironoa did you remove your pods after changing the configmap? If not, try this
|
not sure what you mean, I just restarted every pod with btw thanks for the support, I really don't know how to debug this (yet) |
Can you run and validate it contains
|
Tried just to be meticulous, but as I already said here, one of the first things I tried to do was accessing the pods (exec) and asses by echoing that the |
Maybe upgrading helm chart 5.16.9, which uses v2.5.5 might help? |
@Alegrowin out of this scenario, what are possible causes for an app being present, considered healthy, but nothing deployed underneath ? So far it happened to me when:
In this case the manifest is there and looks as it should be, and indeed the very same app deployed in argocd namespace works |
@Alegrowin I've just spot this 2 errors:
both coming from the |
@ironoa I was able to reproduce, here something that might help Using kustomize, I basically patched the argocd-server ClusterRole resource to look alike the argocd-server Role since it is now managing resources in other namespaces as well. Since you are using helm, the template will need to change (feature flag maybe?) so the sa/argocd-server can update resource in other namespace. This ClusterRole needs to look like this [Role}(https://artifacthub.io/packages/helm/argo/argo-cd?modal=template&template=argocd-server/role.yaml) |
And also this in case you are using kustomize. |
FYI If you are right then this commit/pr has never been enough and needs to be extended... Still something is missing... I also tried to restart all the pods and recreate the application but it doesn't work... the Application looks healthy but it doesn't deploy anything...
Here my role and (modified) cluster role description:
am I missing something ? |
=> https://github.com/argoproj/argo-cd/blob/master/server/application/application.go#L1383 |
Something similar happens in my Argo-CD setup. I'm using AVP to replace placeholder in Secrets with values from Vault. |
Hi folks, sorry for chiming in so late. Have you set the resource tracking method to
This has not been properly documented in 2.5, but will be in 2.6: |
Hey @jannfis, I set |
Hi @jannfis, thanks for your answer. To clarify:
This assumption is not matching my case: I have just one Application, with an unique name, deployed in an unique namespace (tested also with a namespace named "t", very short). Anyway, so far carried multiple tests with resource tracking method set to: annotation, annotation+label, label(default) after your advice. Unfortunately that was not the solution. FYI I've been trying to be very meticulous here. What I've done as a complementary test (only one app at a time) was taking the very same Application and deploying it in the argocd namespace, to asses that the problem is not the Application definition but just the fact it is deployed in a custom namespace. Full test description here Works |
Hey @lusu007 not sure this is related although the outcome is very similar. Are you actually deploying the Application in a namespace which is not the default one (i.e. argocd?) I'm using AVP as well and I faced the same issue you mentioned (again, probably your issue is not correlated to the one of this issue if I'm right). To DEBUG: If you are using the sidecar approach try to log one of the sidecar pods, you might find an error there. If you are using the configmap approach, try to log the repo-server pod. Just to clarify, for this Application I'm obviously not using any plugin, I'm focused only on the application-in-any-namespace feature. The main problem here is that I don't see any errors anywhere so I cannot really debug the issue |
Hey @ironoa, thank you for your detailed answers. I tried to debug AVP further with a colleague. Now everything works. Thanks a lot for the detailed help! A working AVP config: apiVersion: argoproj.io/v1alpha1
kind: ConfigManagementPlugin
metadata:
name: argocd-vault-plugin-helm
spec:
# https://argocd-vault-plugin.readthedocs.io/en/stable/usage/#with-helm
allowConcurrency: true
discover:
find:
command:
- sh
- "-c"
- "find . -name 'Chart.yaml' && find . -name 'values.yaml'"
init:
command:
- sh
- "-c"
- "helm dependency update"
generate:
command:
- sh
- "-c"
- "helm template $ARGOCD_APP_NAME --include-crds . | argocd-vault-plugin generate -"
lockRepo: false |
version v2.5.9, still facing the issue... |
Sorry for chiming in again a little late. Just a question from the comments I've read so far: Are the affected apps all have manifests generated by a plugin? |
OK, so probably not :) |
@ironoa Referring to #11638 (comment), are there really no resources deployed to the cluster, or are they just not visible from the UI? |
No resources deployed to the cluster, just the Application resource in the target namespace |
Hello All, I too faced similar kind of issue, after creating of an application (helm chart) in argocd, none of the resources are displaying. The issue was due to the wrong format of the values.yaml file which was causing the issue. Proper syntax of the values.yaml has fixed my issue. |
Hi @crenshaw-dev, I am facing the same issue. Please help us out or guide us so that we can debug and raise a PR to improve the product. Let me know if you need more details. Unfortunately, We are stuck here. Many thanks in advance!! |
I'm having a hard time reproducing this issue. For me, it works as expected. Do all of you facing this problem have installed Argo CD through the Helm chart? |
Hi @jannfis , I am not sure of others, but i am using it. We are using helm chart to deploy the resources. We are doing following steps:
|
Is istio can be reason for it ? I am using service mesh for it as i need to connect with ingress. |
Hi @jannfis , I tried with the kubectl installation too. But it's still not deploying. |
Thanks @jannfis , I got it working, the issue was in helm chart. |
what was the issue on the helm chart? |
Well. First try to deploy some popular helm chart like bitmani one for apache server and if it does, you confirmed that issue is your helm chart. I don't had issue in helm chart too, it's just that because i didn't include all the files needed for deployment. |
@ironoa - Hi! I just recently spent time testing apps-in-any-namespace in our Argo CD instance, specifically to enable secure app-of-apps. It's working for us with Argo CD v.2.5.16 (the multi-tenant HA namespace install). I had a couple suggestions. At one point, we had a similar situation in the GUI (synced Application appears with an empty tree, no child resources), but I think not for the same reason. You mentioned that your child resources are not actually being deployed to the cluster, but in our case the child resource (another Application) was deployed to the cluster, it's just that Argo CD was filtering it out when syncing the cluster state.
Hope this helps! |
@Alegrowin Thanks a lot, I had a similar issue with the following error when attempting to create an app on another namespace:
I've edited ClusterRole using: kubectl edit ClusterRole argocd-server -n argocd and replaced the array item where - apiGroups:
- argoproj.io
resources:
- applications
- applicationsets
- appprojects
verbs:
- create
- get
- list
- watch
- update
- delete
- patch |
Same thing happened to me when using a CMP (running |
Describe the bug
Maybe someone can help me debug an issue I'm facing:
I have an ArgoCD instance deployed with helm, chart version 5.16.2, app version v2.5.4
I'm trying to enable the application-in-any-namespace feature... basically I added the
application.namespaces: '*'
config as a configs.params value.When I deploy an Application in a namespace which is not the one where argocd is installed, the application now gets recognized (thanks to the above mentioned config), but it becomes immediately synced without deploying anything else... I'm also not getting any errors anywhere apparently...
FYI
spec.sourceNamespaces: '*'
config.Any hint ? thanks
To Reproduce
application.namespaces: '*'
spec.sourceNamespaces: '*'
configExpected behavior
When I deploy an Application in a namespace which is not the one where argocd is installed, the application now gets recognized (thanks to the above mentioned config), but it becomes immediately synced without deploying anything else (pods, svc, ...)... I'm also not getting any errors anywhere apparently...
The very same Application deployed in the argocd (my std) namespace produces the expected result instead
Screenshots
Additional context
I opened an issue also here
The text was updated successfully, but these errors were encountered: