fix(semaphore): ensure holderKeys carry all information needed. Fixes #8684#13553
Conversation
isubasinghe
left a comment
There was a problem hiding this comment.
Generally looks alright, a few minor issues
agilgur5
left a comment
There was a problem hiding this comment.
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. |
|
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.
@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: argoproj#8684 Backports: argoproj#13553 Signed-off-by: isubasinghe <isitha@pipekit.io> Co-authored-by: Isitha Subasinghe <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.