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

[TEST] Unidling controller #444

Closed
wants to merge 12 commits into from
Closed

[TEST] Unidling controller #444

wants to merge 12 commits into from

Conversation

aojea
Copy link
Contributor

@aojea aojea commented Feb 24, 2021

No description provided.

@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: aojea
To complete the pull request process, please assign squeed after the PR has been reviewed.
You can assign the PR to them by writing /assign @squeed in a comment when ready.

The full list of commands accepted by this bot can be found 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-robot openshift-ci-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Feb 24, 2021
trozet and others added 12 commits February 24, 2021 17:13
Due to a regression in OVN, service hairpinning no longer works, which
means some of our E2E tests are failing.

Signed-off-by: Tim Rozet <trozet@redhat.com>
assignmentRetry was mistakenly assumed to be thread safe. This is not
the case for the `Range` function, which is only atomically thread safe
on the key it's acting on. This means that if we have two nodes labelled
as egress nodes concurrently, we will have a subtle data race and possibly
end up deleting the setup done for node 1 by node 2 (since also: the egress
IP setup is not idempotent - we delete then add).

This patch changes it to a proper map with a mutex as to ensure that the
entire iteration over the map during the re-assignment remains thread safe.
It also ensures that we have an ordered assignment of a new / updated egress
IP while a node is added for egress IP assignment.

Signed-off-by: Alexander Constantinescu <aconstan@redhat.com>
currently, we don't check if the pod is scheduled or not. we blindly
updated the address_set with the same set of IPs. this causes all of
the OVN chassis to receive updates from the oVN SB and act upon it.
avoid all this unnecessary churn.

Signed-off-by: Girish Moodalbail <gmoodalbail@nvidia.com>
The initJoinLogicalSwitchIPManager is always dual-stack, so
we can make the distributed gw port always dual-stack too.

If the the distributed gateway port already exists it converts
to dual-stack if necessary so we handle upgrades from previous
OVN versions.

Signed-off-by: Antonio Ojea <aojea@redhat.com>
Added two new methods to the subnet allocator so it is possible
to specify the IP family of the network we want to allocate.

Allow OVN-Kubernetes to configure new allocation ranges or to
remove them, so single-stack clusters can be converted to
dual-stack and viceversa.

Signed-off-by: Antonio Ojea <aojea@redhat.com>
fix gateway init dnat_and_snat issue with dual-stack

Signed-off-by: Antonio Ojea <aojea@redhat.com>
It does an scripted conversion from single to dual stack:
- updates kubernetes components to enable the dualstack feature
- updates kubernetes components adding secondary cidrs
- updates ovn config adding secondary cidrs
- update ovnkube-master and ovnkube-nodes with the new configuration
- install a deployment and check that works before and after

Signed-off-by: Antonio Ojea <aojea@redhat.com>
Signed-off-by: Antonio Ojea <aojea@redhat.com>
Signed-off-by: Antonio Ojea <aojea@redhat.com>
Signed-off-by: Antonio Ojea <aojea@redhat.com>
we need to set the option in ovn before creating the loadbalancers,
or it will not be applied to the existing ones.

Signed-off-by: Antonio Ojea <aojea@redhat.com>
Move the unidling controller code to its own package and add e2e
test.

OVN, if configured with the empty-lb-backend options, must generate
an event PodsNeeded if it receives traffic to a Service VIP without
endpoints that is annotated with k8s.ovn.org/idled-at

Signed-off-by: Antonio Ojea <aojea@redhat.com>
@aojea
Copy link
Contributor Author

aojea commented Feb 24, 2021

/retest

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 25, 2021

@aojea: The following tests failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
ci/prow/e2e-vsphere-ovn e4e05cf link /test e2e-vsphere-ovn
ci/prow/e2e-metal-ipi-ovn-ipv6 e4e05cf link /test e2e-metal-ipi-ovn-ipv6
ci/prow/e2e-openstack-ovn e4e05cf link /test e2e-openstack-ovn

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.

@aojea aojea closed this Feb 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants