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

[wip] [release-4.13] node libovsdb #1764

Closed
wants to merge 14 commits into from

Conversation

dcbw
Copy link
Contributor

@dcbw dcbw commented Jul 17, 2023

- What this PR does and why is it needed

- Special notes for reviewers

- How to verify it

- Description for the changelog

dcbw and others added 10 commits July 17, 2023 10:54
We'll want to store some more information here (like the server)
so it won't just be for cleanup anymore.

Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit 4a4046e)
This will let test code create the server test harness in
BeforeEach() or other common code, but allow each testcase
to update the server data before it runs tests.

Previously if a testcase needed to use unique data in the
server, it either had to throw away the common one and make
a new one, or use libovsdbops functions to add the unique
objects to the DB.

Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit bc487cb)
Picks up named UUID handling changes and inactivity probes.

Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit a234beb2bd887ea9bfe26af3ae4303e91b59888e)
Because of ovn-org/libovsdb#341 ("Refactor
model updates") we need to rework how we pre-seed databases in
testcases.

Instead of directly creating table updates and committing them
actually create libovsdb Operations and let a Transaction push
them into the DB. This also means we get constraint validation
(eg errors on duplicate or missing index keys) and forces us to
make our unit test data actually work with a "real" database
instead of taking shortcuts.

A nice side-effect of converting the test data to Operations is
that both updateData() (which writes directly to a DB) and
CreateTestData() (which writes through a real Server) now have
consistent behavior for test data handling.

Next, because of ovn-org/libovsdb#359
("Named UUID cleanup and enhancements") we can also simplify our
handling of named UUIDS when pre-seeding databases in testcases.

This is now handled for us by libovsdb's Transaction object so
we can remove our named UUID replacement code for test input
data.

Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit 084955b4940d705a8f43364eba193702b0a68635)
Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
(cherry picked from commit fc17f7e)
Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit 05855db4ea03f987b17997efb96c05b1ee51e291)
Used when we absolutely do not want to create the object (like a bridge)
if it doesn't exist, because that should be a hard error, but just want
to update it. Mostly to make sure testcases do the right thing, but we
never actually want to create 'br-int' either, so it works for both
testcases and real code.

Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit 069157a053aca4ca77d999ffac4dd3ed670c1a7b)
Complement to Lookup() for chained operations.

Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit 8a9c40a9a25ce375249e3ec4a4758d2a52e16112)
Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit 2e555e4800417c3f48bf0eb2ee789a7ccae61f73)
Signed-off-by: Dan Williams <dcbw@redhat.com>
(cherry picked from commit 10b939196f82cb1782adefa05b7a8a2a1178c27d)
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 17, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 17, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dcbw

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 17, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 19, 2023

@dcbw: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-hypershift a927196 link false /test e2e-aws-ovn-hypershift
ci/prow/e2e-ovn-hybrid-step-registry a927196 link false /test e2e-ovn-hybrid-step-registry
ci/prow/gofmt a927196 link true /test gofmt

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.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 4, 2023
@openshift-merge-robot
Copy link
Contributor

PR needs rebase.

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.

@dcbw dcbw closed this Oct 9, 2023
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. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants