-
Notifications
You must be signed in to change notification settings - Fork 93
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
clusterVersion analyzer does not detect 1.29 correctly in EKS #1441
Comments
Notice that it is EKS, not EBS. The additional information is on the support-bundle: { kind: SupportBundle |
From my test EKS 1.29: {
"info": {
"major": "1",
"minor": "29+",
"gitVersion": "v1.29.0-eks-c417bb3",
"gitCommit": "787475c0c70a6bc04f58927faf4d30969314cf59",
"gitTreeState": "clean",
"buildDate": "2023-12-13T19:28:31Z",
"goVersion": "go1.21.5",
"compiler": "gc",
"platform": "linux/amd64"
},
"string": "v1.29.0-eks-c417bb3"
} From a k3s test cluster at 1.29: {
"info": {
"major": "1",
"minor": "29",
"gitVersion": "v1.29.0+k3s1",
"gitCommit": "3190a5faa28d7a0d428c756d67adcab7eb11e6a5",
"gitTreeState": "clean",
"buildDate": "2023-12-22T00:03:57Z",
"goVersion": "go1.21.5",
"compiler": "gc",
"platform": "linux/amd64"
},
"string": "v1.29.0+k3s1"
} I suspect the issue is with the minor having an extra |
Troubleshoot is parsing the K8S version using Other distributions do not have this issue as they has correct release version name. I would suggest us updating the spec with Tested on my end
|
Hello Thanks for the quick solution. Which kots version will fix it? Do you have a release date? |
@xavpaice Using Happy to discuss this internally if you disagree, but I think we're kicking this can down the road instead of creating an experience that is easy for customers to use. |
The semver comparison in Troubleshoot is correct, the version string that EKS supplies is a prerelease version which should be marked lower than the release version (see https://semver.org/#spec-item-11). If we want to change our product to handle the incorrect string from EKS, we must ensure that this only affects EKS version strings and not others that are standards compliant, otherwise folks will see inconsistent results from the analyzer. This is tracked in an Amazon issue, you can see the discussion in aws/containers-roadmap#1404. It does look like fixing it will cause their customers other problems so I understand the reluctance to change things at this stage. We're left with two options:
I'll reopen this while we discuss the optimal path. FWIW, this is not currently on the Troubleshoot roadmap, and therefore there's no release date available for Troubleshoot, and KOTS will only see an update after a Troubleshoot release. |
The EKS version string returned is not semver compliant. To work around this, we remove the suffix for version strings that contain -eks-. Fixes #1441
if the string is |
* Add workaround for EKS version string The EKS version string returned is not semver compliant. To work around this, we remove the suffix for version strings that contain -eks-. Fixes #1441 * Add parsing version test cases * Rename function --------- Co-authored-by: Evans Mungai <evans@replicated.com>
Change was released in Troubleshoot v0.82.0. This will need to be updated in KOTS to get released there. |
Bug Description
A report arrived stating that when the query
when: "< 1.29.0"
is used in theoutcomes
section of theclusterVersion
analyzer, a cluster running 1.29 on EKS does not report correctly (i.e. it reports true for this condition).Expected Behavior
EKS running k8s 1.29 should evaluate false for
when: "< 1.29.0"
Steps To Reproduce
Create an EKS cluster with k8s 1.29
use the following preflight spec:
The output should be 'pass', but is 'warn'.
Additional Context
Include the following information.
Edited: corrected EBS -> EKS @adamancini
The text was updated successfully, but these errors were encountered: