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

Revisit linkerd check output format #1471

Closed
klingerf opened this issue Aug 16, 2018 · 7 comments
Closed

Revisit linkerd check output format #1471

klingerf opened this issue Aug 16, 2018 · 7 comments

Comments

@klingerf
Copy link
Member

Per #1081, we should streamline the linkerd check output to be less verbose when checks are passing, and more verbose when checks are failing. We should also group the checks as Pre-Install and Post-Install. Relates to #1470.

@rmars
Copy link

rmars commented Sep 18, 2018

Step 1: get some design feedback on the overall UX of the CLI

@wmorgan
Copy link
Member

wmorgan commented Sep 18, 2018

Related: #1653, #1656

@siggy
Copy link
Member

siggy commented Sep 24, 2018

As part of this work, we should consider embellishing cli output with emoji/color/lol, as mentioned in TGIK8s:

emoji and color in linkerd check:
https://youtu.be/1dXJ34-KLe8?t=2739

ascii art / color / lolgopher for linkerd dashboard:
https://youtu.be/1dXJ34-KLe8?t=2797
https://github.com/kris-nova/lolgopher

@grampelberg grampelberg added the priority/P1 Planned for Release label Nov 28, 2018
@grampelberg
Copy link
Contributor

Also related, #1739.

@grampelberg
Copy link
Contributor

Here's a proposal for updated formating:

$ linkerd check

kubernetes-api
---------------
can initialize the client                                                     ✔️
can query the Kubernetes API                                                  ✔️

RBAC
----
can create Namespaces                                                         ❌
    Missing permissions to create Namespace
    See https://linkerd.io/2/troubleshooting#rbac for hints

Version
-------
cli is up-to-date                                                             ✔️
data plane is up-to-date                                                      ⚠️
    You are running 18.11.1 and the latest version is 18.11.2
    See https://linkerd.io/2/troubleshooting#version-mismatch for hints

In addition, it would be nice to add a spinner when we are retrying (instead of outputting another line). Something like https://github.com/briandowns/spinner.

@wmorgan
Copy link
Member

wmorgan commented Nov 29, 2018

Sweet emojis. I would suggest moving the checks or Xs or warning signs to be the first character rather than the last character in the line. Will help with scannability.

@siggy
Copy link
Member

siggy commented Jan 9, 2019

Relates to #1653 and #1739.

@siggy siggy self-assigned this Jan 9, 2019
@siggy siggy moved this from Ready to In progress in Post 2.1 Polish Jan 10, 2019
siggy added a commit that referenced this issue Jan 14, 2019
The `linkerd check` command organized the various checks via loosely
coupled category IDs, category names, and checkers themselves, all with
ordering defined by consumers of this code.

This change removes category IDs in favor of category names, groups all
checkers by category, and enforces ordering at the `HealthChecker`
level.

Part of #1471, depends on #2078.

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
siggy added a commit that referenced this issue Jan 15, 2019
The linkerd check command organized the various checks via loosely
coupled category IDs, category names, and checkers themselves, all with
ordering defined by consumers of this code.

This change removes category IDs in favor of category names, groups all
checkers by category, and enforces ordering at the HealthChecker
level.

Part of #1471, depends on #2078.

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
siggy added a commit that referenced this issue Jan 15, 2019
The linkerd check command organized the various checks via loosely
coupled category IDs, category names, and checkers themselves, all with
ordering defined by consumers of this code.

This change removes category IDs in favor of category names, groups all
checkers by category, and enforces ordering at the HealthChecker
level.

Part of #1471, depends on #2078.

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
siggy added a commit that referenced this issue Jan 15, 2019
Reorganize output of check and inject commands, to provide more info
when errors occur, and less output when successful. Also add emojis and
spinners.

Fixes #1471, #1653, #1656, #1739

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
siggy added a commit that referenced this issue Jan 15, 2019
The outputs of the `check` and inject commands did not vary much between
successful and failed executions, and were a bit verbose and visually
challenging to parse.

Reorganize output of check and inject commands, to provide more info
when errors occur, and less output when successful. Specific changes:

`linkerd check`
- visually group checks by category
- introduce `hintURL`'s, to provide doc links when checks fail
- add spinners when retrying, remove addtional retry lines
- colored emojis to indicate success/warning/failure

`linkerd inject`
- modify default output to mirror `kubectl apply`
- only output non-successful inject reports
- support `--verbose` flag to output all inject reports

Fixes #1471, #1653, #1656, #1739

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
siggy added a commit that referenced this issue Jan 15, 2019
The outputs of the `check` and inject commands did not vary much between
successful and failed executions, and were a bit verbose and visually
challenging to parse.

Reorganize output of check and inject commands, to provide more info
when errors occur, and less output when successful. Specific changes:

`linkerd check`
- visually group checks by category
- introduce `hintURL`'s, to provide doc links when checks fail
- add spinners when retrying, remove addtional retry lines
- colored emojis to indicate success/warning/failure

`linkerd inject`
- modify default output to mirror `kubectl apply`
- only output non-successful inject reports
- support `--verbose` flag to output all inject reports

Fixes #1471, #1653, #1656, #1739

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
siggy added a commit that referenced this issue Jan 15, 2019
The outputs of the `check` and `inject` commands did not vary much
between successful and failed executions, and were a bit verbose and
challenging to parse.

Reorganize output of `check` and `inject` commands, to provide more
output when errors occur, and less output when successful.

Specific changes:

`linkerd check`
- visually group checks by category
- introduce `hintURL`'s, to provide doc links when checks fail
- add spinners when retrying, remove addtional retry lines
- colored emojis to indicate success/warning/failure

`linkerd inject`
- modify default output to mirror `kubectl apply`
- only output non-successful inject reports
- support `--verbose` flag to output all inject reports

Fixes #1471, #1653, #1656, #1739

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
@siggy siggy moved this from In progress to Needs review in Post 2.1 Polish Jan 15, 2019
siggy added a commit that referenced this issue Jan 16, 2019
The outputs of the `check` and `inject` commands did not vary much
between successful and failed executions, and were a bit verbose and
challenging to parse.

Reorganize output of `check` and `inject` commands, to provide more
output when errors occur, and less output when successful.

Specific changes:

`linkerd check`
- visually group checks by category
- introduce `hintURL`'s, to provide doc links when checks fail
- add spinners when retrying, remove addtional retry lines
- colored emojis to indicate success/warning/failure

`linkerd inject`
- modify default output to mirror `kubectl apply`
- only output non-successful inject reports
- support `--verbose` flag to output all inject reports

Fixes #1471, #1653, #1656, #1739

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
Post 2.1 Polish automation moved this from Needs review to Done Jan 16, 2019
siggy added a commit that referenced this issue Jan 16, 2019
The outputs of the `check` and `inject` commands did not vary much
between successful and failed executions, and were a bit verbose and
challenging to parse.

Reorganize output of `check` and `inject` commands, to provide more
output when errors occur, and less output when successful.

Specific changes:

`linkerd check`
- visually group checks by category
- introduce `hintURL`'s, to provide doc links when checks fail
- add spinners when retrying, remove additional retry lines
- colored unicode characters to indicate success/warning/failure

`linkerd inject`
- modify default output to mirror `kubectl apply`
- only output non-successful inject reports
- support `--verbose` flag to output all inject reports

Fixes #1471, #1653, #1656, #1739

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 18, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
No open projects
Development

No branches or pull requests

5 participants