-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
fix(semaphore): ensure holderKey
s carry all information needed. Fixes #8684
#13553
Conversation
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.
Generally looks alright, a few minor issues
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.
In #8684 (comment), you said this would be a breaking change? Then this should have a !
in the title and the appropriate milestone.
Or are you making this backward compatible with the env var?
NOTE: E2E tests HAVE NOT BEEN RUN WITH THIS ENV VAR.
Largely due to being unable to run the E2E tests in a reliable way on my machine.
If this is intended to be required in the future, we should probably enable it during testing similar to #12413 (comment)
Yeah this should mean that you can upgrade workflows to use the new holder key name without any issue, no longer a breaking change.
Yeah that sounds good to me. |
holderKeys
carry all information needed. Fixes #8684
holderKeys
carry all information needed. Fixes #8684holderKey
s carry all information needed. Fixes #8684
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.
At minimum we need duplicates of the tests that are V1 only as V2 tests.
My preference is to drop V1 completely, agreeing with @agilgur5
legacy holding keys have been eliminated, now only v2 style keys exist. Meaning existing keys now test v2 directly. |
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.
@Joibel opinions? wait please, adding more tests
This PR is now ready, I believe I have addressed the edge cases. Unfortunately there is some ambiguity (as expected really) if a sync exist at both the template level and workflow level. We just choose to go with workflow level in this case of ambiguity. P.S. I hate this bug |
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
a48aeca
to
e445525
Compare
/retest |
1 similar comment
/retest |
Irrelevant tests seem to be broken since a rebase. |
argoproj#8684 (argoproj#13553) Signed-off-by: isubasinghe <isitha@pipekit.io>
Fixes #8684
Motivation
The Holder keys in the status field of a workflow do not carry enough information to work as expected.
This change ensures a single function (
getHolderKey
) is used for both acquiring and releasing keys.This in turn deprecates(
getResourceKey
).Modifications
Store the entire holderKey in the status. Simple but effective change to fix #8684.
Allows controllers to support V2 holder names even if the holder was first populated by a v1 holder name.
Verification
The unit tests were run with
HOLDER_KEY_VERSION=v2
.NOTE: E2E tests HAVE NOT BEEN RUN WITH THIS ENV VAR.
Largely due to being unable to run the E2E tests in a reliable way on my machine.