-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Add RoundTrip to Conversion Integration Test #6439
Conversation
/test check-pr-has-kind-label |
@dibyom: The specified target(s) for
The following commands are available to trigger optional jobs:
Use In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
There seems no way to leverage the client to convert the fetched CRDs back, so this commit uses the ConvertFrom and ConvertTo directly on the fetched CRDs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JeromeJu can you please link an issue?
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lbernick 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 |
0fdeafe
to
bb4275b
Compare
This commit refines the conversion test by adding RoundTrip to test as one of the prerequisites for v1 storage version swap. It aims to prevent unexpected issues of converting back and forth between and storage version from happening.
bb4275b
to
da2e86a
Compare
if d := cmp.Diff(v1TaskExpected, v1TaskGot, filterMetadata...); d != "" { | ||
t.Fatalf("-want, +got: %v", d) | ||
t.Errorf("-want, +got: %v", d) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could use diff.PrintWantGot(d)
, but this should be fine.
// requests it by v1Clients to compare with v1 if the conversion has been correctly | ||
// executed by the webhook for roundtrip. And then it creates the v1 Task CRD using v1Clients |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just curious about this test, correct me if I'm wrong
it tests:
- v1beta1->v1->v1beta1
2)v1->v1beta1->v1
I wonder if we need the 2) test case? Since it is covered in 1)? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, good question:) I think this is necessary because for the roundTrip we would like to check if the conversion for results from the first step would lead to Error.
eg. for the 2nd case, when we call ConvertFrom v1
CRD -> converted v1beta1
CRD, then we test if the result could be ConvertTo-ed v1
CRD
Also since the storedVersion is going to get swapped and we would want to avoid issues converting back and forth start from either version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That sg!
/assign |
/lgtm |
Changes
This commit refines the conversion test by adding RoundTrip to
conversion_integration
test as one ofthe prerequisites for v1 storage version swap.
It aims to prevent unexpected issues of converting back and forth between
v1beta1
andv1
storage versionfrom happening. ie. the unexpected nondeterministic PipelineRunStatus conversion issue
/kind misc
part of #5541
Submitter Checklist
As the author of this PR, please check off the items in this checklist:
functionality, content, code)
/kind <type>
. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tepRelease Notes