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
Bug 2042001: Adds wait method for ovsdb operations that created named objects #934
Conversation
Signed-off-by: Tim Rozet <trozet@redhat.com>
According to https://bugzilla.redhat.com/show_bug.cgi?id=2042001#c1 The cause of duplicate entries with the same name may occur in OVSDB due to a raft issue during leader transition. This can end up entering duplicate entries in OVSDB with the same name for things like load balancers, switches, routers, etc. This commit adds a workaround. Signed-off-by: Tim Rozet <trozet@redhat.com>
Changes pods and address sets to use TransactAndCheckAndSetUUIDs which will set the UUIDs on the models for us, so that we dont have to rely calculating the index of the result we care about. Signed-off-by: Tim Rozet <trozet@redhat.com>
@trozet: This pull request references Bugzilla bug 2042001, which is valid. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
Requesting review from QA contact: 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 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.
/lgtm
Upstream CI completed successfully |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dcbw, flavio-fernandes, trozet 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 |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
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.
One other idea would be to add a generic func checkDuplicate(model Model) (Operation, error)
method where you could build the custom operation required for each model type, just like we have to generally get/set UUIDs for models:
It would return nil if no dup check is required. You could then easily generate the appropriate operation and condition condition for all model types, including those that don't have a name. They would all be in the same place and organized and we probably would not need to check for user error or corner cases in model client as model client would use it directly on creates. This also avoids changing the model client API with the new Name parameter and having to update all its uses to include it.
/retest |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/override ci/prow/e2e-aws-ovn |
@dcbw: Overrode contexts on behalf of dcbw: ci/prow/e2e-aws-ovn 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. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
3 similar comments
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
@trozet: The following test failed, say
Full PR test history. Your PR dashboard. 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. I understand the commands that are listed here. |
@trozet: All pull requests linked via external trackers have merged: Bugzilla bug 2042001 has been moved to the MODIFIED state. 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. |
Due to a bug in OVSDB server where a single txn may become duplicated and cause multiple DB entries or txn failures, we add a wait method to every create operation where the resource has a unique name. This guards against OVSDB server from creating the duplicate db entry.