Skip to content

Restore Unidler #15383

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

Merged
Merged

Conversation

DirectXMan12
Copy link
Contributor

@DirectXMan12 DirectXMan12 commented Jul 20, 2017

Fixes #15101

The unidler was broken by changes to the structure of the proxies upstream.
This PR refactors the hybrid proxier to follow the event-driven model used by the
upstream proxies, and works around the lack of the ObjectReference in ServiceInfo
(we fake a lightweight ObjectReference using service name and namespace, which is
just enough for the unidler controller).

@DirectXMan12
Copy link
Contributor Author

cc @deads2k @knobunc

@deads2k
Copy link
Contributor

deads2k commented Jul 20, 2017

@DirectXMan12 I commented out a test related to this. Can you check the original disable commit and re-enable the test?

@deads2k
Copy link
Contributor

deads2k commented Jul 20, 2017

/assign dcbw

Copy link
Contributor

@knobunc knobunc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@knobunc
Copy link
Contributor

knobunc commented Jul 20, 2017

[test][testextended][extended: networking]

@DirectXMan12
Copy link
Contributor Author

@deads2k I uncommented the unidling extended tests, if that's what you're asking...

@deads2k
Copy link
Contributor

deads2k commented Jul 21, 2017

@deads2k I uncommented the unidling extended tests, if that's what you're asking...

Great. I'll defer to @knobunc.

Looks like you've got a few failures to chase, but thanks for getting to it so quickly.

@DirectXMan12
Copy link
Contributor Author

[test][testextended][extended: networking]

looks like the test cluster was up late drinking again

@openshift-bot
Copy link
Contributor

Evaluated for origin testextended up to 9a454d8

@openshift-bot
Copy link
Contributor

Evaluated for origin test up to 9a454d8

@openshift-bot
Copy link
Contributor

continuous-integration/openshift-jenkins/testextended FAILURE (https://ci.openshift.redhat.com/jenkins/job/test_pull_request_origin_extended/900/) (Base Commit: 421b57e) (PR Branch Commit: 9a454d8) (Extended Tests: networking)

@openshift-bot
Copy link
Contributor

continuous-integration/openshift-jenkins/test FAILURE (https://ci.openshift.redhat.com/jenkins/job/test_pull_request_origin/3417/) (Base Commit: 421b57e) (PR Branch Commit: 9a454d8)

@openshift-merge-robot openshift-merge-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Jul 24, 2017

p.usingUserspaceLock.Lock()
defer p.usingUserspaceLock.Unlock()

for _, service := range services {
if !apihelper.IsServiceIPSet(service) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to preserve the IsServiceIPSet() bit?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, no


usingUserspace, knownEndpoints := p.usingUserspace[svcName]

if !knownEndpoints {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any chance we could get endpoints before a service shows up, just because perhaps we have different watches for each and one watch is stalled in a goroutine somewhere but the other keeps going?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should have a delete for an endpoints set that we haven't already gotten an add for, though. Getting them in different orders shouldn't be a problem.

@deads2k
Copy link
Contributor

deads2k commented Jul 27, 2017

/approve

@openshift-merge-robot openshift-merge-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. and removed approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Jul 28, 2017
This commit moves the hybrid proxier onto the event-driven model adopted
upstream by the iptables and userspace proxiers.
Upstream removed our ObjectReference in the ServiceInfo.  Now, we have
to fake an object reference when we submit events using just the name
and namespace from the service info.
@DirectXMan12
Copy link
Contributor Author

someone change the meaning of Sync from "do it now" to "do it later if you've also started my SyncLoop", which caused issues. That should be fixed now, and tests should pass.

@DirectXMan12
Copy link
Contributor Author

/retest #14385 ?

@DirectXMan12
Copy link
Contributor Author

/retest

@DirectXMan12
Copy link
Contributor Author

The bot seems to be confused on the issue front. Let's try:

/approve no-issue

@DirectXMan12
Copy link
Contributor Author

@dcbw can I get an LGTM?

Copy link
Contributor

@dcbw dcbw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@knobunc
Copy link
Contributor

knobunc commented Aug 24, 2017

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Aug 24, 2017
@openshift-merge-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: DirectXMan12, deads2k, knobunc

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these OWNERS Files:

You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

@openshift-merge-robot
Copy link
Contributor

Automatic merge from submit-queue (batch tested with PRs 15881, 15905, 15383, 15938)

@openshift-merge-robot openshift-merge-robot merged commit f9dac39 into openshift:master Aug 25, 2017
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. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants