-
Notifications
You must be signed in to change notification settings - Fork 79
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
[Bug]: conversion issues in v1beta2 appears inconsistently in dns.gcp.upbound.io #667
Comments
Hi @marccortinas, Thank you for the detailed issue report. I tried to reproduce the issue in a kind cluster but I couldn't. When I try to create a resource with the wrong ProviderConfig I get the expected error below:
The problem here seems to be that the conversion webhook mechanism is not working properly. Does this error occur consistently in your environment? |
We're using :crossplane: in multiple gke cluster and this issue only appears in one of them. Let me add I uninstalled/installed crossplane three times (basically via helm and after that "kubectl deletes") in this cluster and it seems there are not working fine. Let me explain.... Now, all is working fine as expected, crossplane, providerconfig, I checked and I can see fine:
The issue appears always when I try to get the recordset.
But we can get with file specifying....
I increase logs to debug level and I can see the following:
|
Hi @turkenf
but applying this manifest is not accepted:
We get the following error:
We have tried deleting providers and crossplane itself from this cluster, but every time we reinstall it, we find the same issue. We haven't been able to reproduce the issue in other clusters, so this doesn't occur consistently. As we want to keep this cluster and avoid migrating all its applications to a new one, could you help us in some way? Do you have any clue? Which things do you recommend us to check? provider logs aren't useful as @marccortinas mentioned before... our guess is that something remains in the cluster although we uninstall everything carefully. Do you thing we are missing something? Thanks in advance! |
Is there an existing issue for this?
Affected Resource(s)
dns.gcp.upbound.io/v1beta1 - RecordSet
Resource MRs required to reproduce the bug
Steps to Reproduce
I shared previously the manifests yaml before with the providerconfig and the recourse recorset with a typo error in the provideconfig referenced
What happened?
By introducing a typo in the name of a GCP providerconfig, we created resources that referenced a non-existent providerconfig. This generated a conversion error in the Kubernetes API, preventing the creation of the resources.
During a recent operation, a typo was introduced into the name of a GCP provider configuration. Instead of naming it "tools", we mistakenly named it "toosl".
We believe it would be beneficial to implement a validation that prevents the creation of resources that reference non-existent providerconfigs. Additionally, we suggest improving error messages to make them more descriptive and facilitate the identification of the problem.
Subsequently, when creating "recordset" objects, this incorrect configuration was referenced. As a result, ArgoCD and the Kubernetes API returned the following error:
Error from server: conversion webhook for dns.gcp.upbound.io/v1beta1, Kind=RecordSet failed: Post "https://provider-gcp-dns.crossplane-system.svc:9443/convert?timeout=30s": net/http: request canceled while waiting for the connection (Client.Timeout exceeded while awaiting headers)"
To temporarily resolve this issue, we had to delete the "dns.gcp.upbound.io" CRD. However, we would like to know if deleting the "providerconfigusage" objects where the "resource-kind" was "RecordSet" would have been sufficient. Would this action have prevented ArgoCD or the Kubernetes API from returning the aforementioned error?"
In this particular case, we had to delete the corresponding CRD to resolve the error. We would like to know if deleting the objects of type providerconfigusage where the resource-kind is RecordSet would have been sufficient to prevent the error.
Relevant Error Output Snippet
Crossplane Version
v1.18.0
Provider Version
v1.10.0
Kubernetes Version
v1.30.5-gke.1443001
Kubernetes Distribution
GKE
Additional Info
By introducing a typo in the name of a GCP providerconfig, we created resources that referenced a non-existent providerconfig. This generated a conversion error in the Kubernetes API, preventing the creation of the resources.
We believe it would be beneficial to implement a validation that prevents the creation of resources that reference non-existent providerconfigs. Additionally, we suggest improving error messages to make them more descriptive and facilitate the identification of the problem.
In this particular case, we had to delete the corresponding CRD to resolve the error. We would like to know if deleting the objects of type providerconfigusage where the resource-kind is RecordSet would have been sufficient to prevent the error.
The text was updated successfully, but these errors were encountered: