Skip to content
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

🌱 Clean up kube version parsing #4163

Merged

Conversation

CecileRobertMichon
Copy link
Contributor

@CecileRobertMichon CecileRobertMichon commented Feb 9, 2021

What this PR does / why we need it: Currently version parsing in CAPI is inconsistent and there is duplicate constants for regex expression. Also, KCP webhooks (kubeadm/controlplane/api) import the util package to use the version parsing helper and kubeSemver which means the util package is unable import the KCP api (it already imports the core API) as it causes dependency cycles. This PR moves the version logic to a new util/version package and deprecates the func in the util package, as well as reuses the same kubeSemver var across all uses in the code. It also makes the difference between "tolerant" semver parsing (with or without "v" prefix) and not ("v" prefix required), which otherwise is easy to miss as it's a 1 char difference in the regex. There are no behavior/functional changes as part of this PR.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Partially addresses #3697

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Feb 9, 2021
@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Feb 9, 2021
@fabriziopandini
Copy link
Member

linking this issues because related #3697

@vincepri
Copy link
Member

vincepri commented Feb 9, 2021

/milestone v0.4.0

@k8s-ci-robot k8s-ci-robot added this to the v0.4.0 milestone Feb 9, 2021
util/version/version.go Outdated Show resolved Hide resolved
Copy link
Member

@vincepri vincepri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall great work, thanks @CecileRobertMichon for tackling this!

util/version/version_test.go Outdated Show resolved Hide resolved
@CecileRobertMichon
Copy link
Contributor Author

Thanks for linking #3697 @fabriziopandini, I knew there was an issue for this but I had lost it... I think we should merge this refactor first which doesn't make any changes to validation then make any necessary changes separately so we don't mix refactoring and validation changes.

Copy link
Member

@vincepri vincepri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 9, 2021
Copy link
Contributor Author

@CecileRobertMichon CecileRobertMichon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: CecileRobertMichon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 9, 2021
@k8s-ci-robot k8s-ci-robot merged commit 51a6d64 into kubernetes-sigs:master Feb 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants