You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When deploying the latest version of Maesh with Helm on a AWS EKS cluster (1.18), the controller is still patching CoreDNS Corefile with the upstream keyword, despite CoreDNS version > 1.7
The CoreDNS image deployed by EKS is 602401143452.dkr.ecr.eu-central-1.amazonaws.com/eks/coredns:v1.7.0-eksbuild.1
What did you do?
Installed Maesh v1.4.1 with the official Helm chart traefik-mesh-3.0.6 on a fresh AWS EKS cluster version v1.18
What did you expect to see?
The controller not patching the CoreDNS ConfigMap with the upstream keyword since the CoreDNS version is >1.7 602401143452.dkr.ecr.eu-central-1.amazonaws.com/eks/coredns:v1.7.0-eksbuild.1
What did you see instead?
The CoreDNS ConfigMap being patched by the controller init container with the upstream keyword, thus leading to CoreDNS crashing with the following error message: Error during parsing: unknown property 'upstream'
Output of controller log: (What version of Traefik Mesh are you using?)
Maesh version v1.4.1
$ kubectl logs -c traefik-mesh-prepare traefik-mesh-controller-54b79ddc9f-47h6v{"level":"debug","msg":"Starting prepare...","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Using masterURL: \"\"","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Using kubeconfig: \"\"","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Creating in-cluster client","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Building Kubernetes Client...","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Building SMI Access Client...","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Building SMI Specs Client...","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Building SMI Split Client...","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"ACL mode enabled: false","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Detecting DNS provider...","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Checking if CoreDNS is installed in namespace \"kube-system\"...","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"CoreDNS \"1.7.0-eksbuild.1\" has been detected","time":"2021-02-09T18:56:34Z"}{"level":"debug","msg":"Patching ConfigMap \"coredns\" in namespace \"kube-system\"...","time":"2021-02-09T18:56:34Z"}{"level":"info","msg":"CoreDNS ConfigMap \"coredns\" in namespace \"kube-system\" has successfully been patched","time":"2021-02-09T18:56:34Z"}{"level":"info","msg":"Restarting \"coredns\" pods","time":"2021-02-09T18:56:34Z"}
What is your environment & configuration (arguments, provider, platform, ...)?
AWS EKS v1.18
CoreDNS v1.7.0-eksbuild.1
If applicable, please paste the yaml objects required to reproduce your issue
I think I just found the issue which was "introduced" by previous PR #774 when I added support for build version with suffixes. It seems like goversion considers v1.7.0-eksbuild.1 as a pre-release version of v1.7.0 while it is not.
versionCoreDNS17:=goversion.Must(goversion.NewVersion("v1.7"))
coreDNSVersion:=goversion.Must(goversion.NewVersion("v1.7.0-eksbuild.1"))
fmt.Println(coreDNSVersion.LessThan(versionCoreDNS17)) // Prints true
I will submit a patch to make sure this is fixed while I am looking at adding support for CoreDNS 1.8.
EDIT: It seems like there is two solutions:
Either compare the current CoreDNS version with the last version to support the upstream keyword:
This issue seems to be something to consider more broadly during the version check in prepare as it might consider v1.8.0-eksbuild.0 as a pre-release and satisfy the LessThan check for the build version.
Bug Report
When deploying the latest version of Maesh with Helm on a AWS EKS cluster (1.18), the controller is still patching CoreDNS Corefile with the
upstream
keyword, despite CoreDNS version > 1.7The CoreDNS image deployed by EKS is
602401143452.dkr.ecr.eu-central-1.amazonaws.com/eks/coredns:v1.7.0-eksbuild.1
What did you do?
Installed Maesh
v1.4.1
with the official Helm charttraefik-mesh-3.0.6
on a fresh AWS EKS cluster versionv1.18
What did you expect to see?
The controller not patching the CoreDNS ConfigMap with the
upstream
keyword since the CoreDNS version is >1.7602401143452.dkr.ecr.eu-central-1.amazonaws.com/eks/coredns:v1.7.0-eksbuild.1
What did you see instead?
The CoreDNS ConfigMap being patched by the controller init container with the
upstream
keyword, thus leading to CoreDNS crashing with the following error message:Error during parsing: unknown property 'upstream'
Output of controller log: (What version of Traefik Mesh are you using?)
Maesh version
v1.4.1
What is your environment & configuration (arguments, provider, platform, ...)?
AWS EKS
v1.18
CoreDNS
v1.7.0-eksbuild.1
If applicable, please paste the yaml objects required to reproduce your issue
The text was updated successfully, but these errors were encountered: