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

New balancer implementation: consistent hash subset #3396

Merged
merged 1 commit into from Jan 4, 2019

Conversation

Projects
4 participants
@diegows
Copy link
Contributor

diegows commented Nov 11, 2018

What this PR does / why we need it:
Add Consistent hash balancing to a subset of nodes. It provides the benefits of consistent hashing, but also providing some load balance between some nodes.

@diegows

This comment has been minimized.

Copy link
Contributor Author

diegows commented Nov 11, 2018

/retest

@ElvinEfendi

This comment has been minimized.

Copy link
Member

ElvinEfendi commented Nov 12, 2018

@diegows any specific reason you're using different packages per annotation? Why do you not use existing internal/ingress/annotations/upstreamhashby/ to parse the two new annotations you're introducing?

@aledbf aledbf added this to In Progress in 0.21.0 Nov 12, 2018

@aledbf aledbf removed this from In Progress in 0.21.0 Nov 19, 2018

@aledbf aledbf added this to In Progress in 0.22.0 Nov 19, 2018

@k8s-ci-robot k8s-ci-robot added size/L and removed size/XL labels Nov 27, 2018

@diegows
Copy link
Contributor Author

diegows left a comment

@diegows any specific reason you're using different packages per annotation? Why do you not use existing internal/ingress/annotations/upstreamhashby/ to parse the two new annotations you're introducing?

No reason, fixed following the coding standards.

Show resolved Hide resolved docs/examples/chashsubset/deployment.yaml Outdated
@diegows

This comment has been minimized.

Copy link
Contributor Author

diegows commented Nov 27, 2018

Thanks for your detailed review @ElvinEfendi. Addressed some of the issues, I hope I can finish everything before the end of the week.

@aledbf

This comment has been minimized.

Copy link
Member

aledbf commented Nov 30, 2018

@diegows please squash the commits and rebase from master (we fix several e2e flakiness)

@diegows diegows force-pushed the flugel-it:master branch from 96c9112 to 26ce8d4 Dec 9, 2018

@diegows

This comment has been minimized.

Copy link
Contributor Author

diegows commented Dec 9, 2018

@aledbf @ElvinEfendi Squashed and rebased. I've applied all the feedback you suggested, improved the code, added e2e test. Let me know how it looks now. Thanks!

@ElvinEfendi

This comment has been minimized.

Copy link
Member

ElvinEfendi commented Dec 22, 2018

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added lgtm approved and removed lgtm labels Dec 22, 2018

@ElvinEfendi

This comment has been minimized.

Copy link
Member

ElvinEfendi commented Jan 2, 2019

@diegows please squash your commits into one, we can then merge this.

@k8s-ci-robot k8s-ci-robot added size/XXL and removed size/L labels Jan 3, 2019

@diegows diegows force-pushed the flugel-it:master branch 2 times, most recently from 0765feb to c68cae3 Jan 3, 2019

@k8s-ci-robot k8s-ci-robot added size/L and removed size/XXL labels Jan 3, 2019

@diegows diegows force-pushed the flugel-it:master branch from c68cae3 to 6978315 Jan 3, 2019

Consistent hashing to a subset of nodes. It works like consistent hash,
but instead of mapping to a single node, we map to a subset of nodes.

@diegows diegows force-pushed the flugel-it:master branch from 6978315 to 60b9835 Jan 3, 2019

@ElvinEfendi

This comment has been minimized.

Copy link
Member

ElvinEfendi commented Jan 4, 2019

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm label Jan 4, 2019

@k8s-ci-robot

This comment has been minimized.

Copy link
Contributor

k8s-ci-robot commented Jan 4, 2019

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: diegows, ElvinEfendi

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

@k8s-ci-robot k8s-ci-robot merged commit 2c3ce07 into kubernetes:master Jan 4, 2019

3 checks passed

cla/linuxfoundation diegows authorized
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
tide In merge pool.
Details

@aledbf aledbf moved this from In Progress to done in 0.22.0 Jan 4, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.