mirror of https://github.com/linkerd/linkerd2.git
## What this changes This allows the tap controller to inform `tap` users when pods either have tap disabled or tap is not enabled yet. ## Why When a user taps a resource that has not been admitted by the Viz extension's `tap-injector`, tap is not explicitly disabled but it is also not enabled. Therefore, the `tap` command hangs and provides no feedback to the user. Closes #5544 ## How A new `viz.linkerd.io/tap-enabled` annotation is introduced which is automatically added by the Viz extension's `tap-injector`. This annotation is added to a pod when it is able to be tapped; this means that the pod and the pod's namespace do not have the `config.linkerd.io/disable-tap` annotation added. When a user attempts to tap a resource, the tap controller now looks for this new annotation; if the annotation is present on the pod then that pod is tappable. If the annotation is not present or tap is explicitly disabled, an error is returned. ## UI changes Multiple errors can now occur when trying to tap a resource: 1. There are no pods for the resource. 2. There are pods for the resource, but tap is disabled via pod or namespace annotation. 3. There are pods for the resource, but tap is not yet enabled because the `tap-injector` did not admit the resource. Errors are now handled as shown below: Tap is disabled: ``` ❯ bin/linkerd viz tap deploy/test Error: no pods to tap for deployment/test pods found with tap disabled via the config.linkerd.io/disable-tap annotation ``` Tap is not enabled: ``` ❯ bin/linkerd viz tap deploy/test Error: no pods to tap for deployment/test pods found with tap not enabled; try restarting resource so that it can be injected ``` There are a mix of pods with tap disabled or tap not enabled: ``` ❯ bin/linkerd viz tap deploy/test Error: no pods to tap for deployment/test pods found with tap disabled via the config.linkerd.io/disable-tap annotation pods found with tap not enabled; try restarting resource so that it can be injected ``` Signed-off-by: Kevin Leimkuhler <kevin@kleimkuhler.com> |
||
---|---|---|
.. | ||
cli | ||
integration |