-
Notifications
You must be signed in to change notification settings - Fork 505
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
Expose more advanced ZooKeeper ServerSets configuration #1516
Comments
We should probably just replace the default inet resolver throughout linkerd. i don't think that's ever good behavior for linkerd? |
@b-hoyt we're going to discuss / scope this today |
@olix0r I haven't been able to brainstorm a scenario when it is good behavior yet. Making the single surgical change (default inet resolver = not fixed) would solve my immediate problem, extra configurability would be a bonus, although it could also be too much rope. |
@b-hoyt This is doable but not 100% trivial. Current plan it to take a look at this in a bit; for the next release, at least, we'd like to focus on H2 features and perf. |
If an input file is un-injectable, existing inject behavior is to simply output a copy of the input. Introduce a report, printed to stderr, that communicates the end state of the inject command. Currently this includes checking for hostNetwork and unsupported resources. Malformed YAML documents will continue to cause no YAML output, and return error code 1. This change also modifies integration tests to handle stdout and stderr separately. example outputs... some pods injected, none with host networking: ``` hostNetwork: pods do not use host networking...............................[ok] supported: at least one resource injected..................................[ok] Summary: 4 of 8 YAML document(s) injected deploy/emoji deploy/voting deploy/web deploy/vote-bot ``` some pods injected, one host networking: ``` hostNetwork: pods do not use host networking...............................[warn] -- deploy/vote-bot uses "hostNetwork: true" supported: at least one resource injected..................................[ok] Summary: 3 of 8 YAML document(s) injected deploy/emoji deploy/voting deploy/web ``` no pods injected: ``` hostNetwork: pods do not use host networking...............................[warn] -- deploy/emoji, deploy/voting, deploy/web, deploy/vote-bot use "hostNetwork: true" supported: at least one resource injected..................................[warn] -- no supported objects found Summary: 0 of 8 YAML document(s) injected ``` TODO: check for UDP and other init containers Part of linkerd#1516 Signed-off-by: Andrew Seigner <[email protected]>
linkerd only routes TCP data, but `linkerd inject` does not warn when it injects into pods with ports set to `protocol: UDP`. Modify `linkerd inject` to warn when injected into a pod with `protocol: UDP`. The Linkerd sidecar will still be injected, but the stderr output will include a warning. Also add stderr checking on all inject unit tests. Part of linkerd#1516. Signed-off-by: Andrew Seigner <[email protected]>
`linkerd inject` was not checking its input for known sidecars and initContainers. Modify `linkerd inject` to check for existing sidecars and initContainers, specifically, Linkerd, Istio, and Contour. Part of linkerd#1516 Signed-off-by: Andrew Seigner <[email protected]>
It would be helpful for some of the more advanced configuration for ZooKeeper ServerSets to be exposed in YAML so defaults can be overridden if desired.
Specifically:
removalWindow
batchWindow
unhealthyWindow
inetResolver
The default InetResolver is FixedInetResolver which hangs on unresolvable hostnames: https://github.com/twitter/finagle/blob/master/finagle-core/src/main/scala/com/twitter/finagle/InetResolver.scala#L214
If a zookeeper server set has even one unresolvable hostname in it, the FixedInetResolver spin prevents any of the hostnames in the set from returning.
Being able to swap in the ordinary InetResolver (non-fixed) addresses this problem, effectively filtering unresolvable hostnames until they later resolve, but allowing resolvable hostnames through.
The text was updated successfully, but these errors were encountered: