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

[api] expand node affinity; support multiple reqs #131

Merged
merged 3 commits into from
Apr 30, 2019

Conversation

schallert
Copy link
Collaborator

Previously we supported node affinity by either 1) using the default
heuristic of the isolation group name being the zone, or 2) by
specifying a single key and a set of values to match an m3db pod to a
node.

This limits users from specifying more complex terms such as "nodes in
zone A with instance type 'large'".

This change allows users to specify multiple node affinity terms, as
well as specifying none at all if they have no need for node affinity.
This is a breaking change as users must specify the zone key in their
cluster configs to get the same zone affinity as before, and this will
be called out in the release notes.

Eventually we'll add the ability to specify entire affinity terms per
isolation-group, but those can be extremely verbose and this still
provides a nice shortcut for most use cases.

@codecov
Copy link

codecov bot commented Apr 29, 2019

Codecov Report

Merging #131 into master will increase coverage by 0.04%.
The diff coverage is 91.66%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #131      +/-   ##
==========================================
+ Coverage   68.67%   68.72%   +0.04%     
==========================================
  Files          26       26              
  Lines        1909     1912       +3     
==========================================
+ Hits         1311     1314       +3     
  Misses        494      494              
  Partials      104      104

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0289858...996f074. Read the comment docs.

@schallert schallert force-pushed the schallert/multi_affinity_terms branch from 5a30711 to 1d52a15 Compare April 29, 2019 19:50
@schallert schallert marked this pull request as ready for review April 29, 2019 19:56
Previously we supported node affinity by either 1) using the default
heuristic of the isolation group name being the zone, or 2) by
specifying a single key and a set of values to match an m3db pod to a
node.

This limits users from specifying more complex terms such as "nodes in
zone A with instance type 'large'".

This change allows users to specify multiple node affinity terms, as
well as specifying none at all if they have no need for node affinity.
This is a breaking change as users must specify the zone key in their
cluster configs to get the same zone affinity as before, and this will
be called out in the release notes.

Eventually we'll add the ability to specify entire affinity terms per
isolation-group, but those can be extremely verbose and this still
provides a nice shortcut for most use cases.
@schallert schallert force-pushed the schallert/multi_affinity_terms branch from 1d52a15 to cacc110 Compare April 29, 2019 20:10
@schallert schallert merged commit 795973f into master Apr 30, 2019
@schallert schallert deleted the schallert/multi_affinity_terms branch April 30, 2019 15:32
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.

1 participant