Skip to content

lib/teleterm: Remove misleading error log after LocalAgent.GetKey#28662

Merged
ravicious merged 2 commits intomasterfrom
ravicious/get-key-error
Jul 5, 2023
Merged

lib/teleterm: Remove misleading error log after LocalAgent.GetKey#28662
ravicious merged 2 commits intomasterfrom
ravicious/get-key-error

Conversation

@ravicious
Copy link
Copy Markdown
Member

@ravicious ravicious commented Jul 5, 2023

When you first login to a cluster in Connect and provide the cluster address, Connect creates a profile file for the cluster in Connect's tsh home. Naturally, at this point there's no keys for the cluster. So when you then submit your login credentials and we call clusters.Storage.fromProfile, LocalAgent.GetKey returns a not found error.

In that case we should just continue, similar to how other places in tsh do this:

// Try loading existing keys.
k, err = tc.LocalAgent().GetKey(cluster, client.WithKubeCerts{})
if err != nil && !trace.IsNotFound(err) {
return trace.Wrap(err)
}

Instead, the previous version would log the error as if something bad has happened:

Error log
TSHD INFO [CONN:STOR] Unable to load the keys for cluster teleport-local.dev. error:[
TSHD ERROR REPORT:
TSHD Original Error: *trace.NotFoundError open /Users/rav/Library/Application Support/Electron/tsh/keys/teleport-local.dev/rav-x509.pem: no such file or directory
TSHD Stack Trace:
TSHD 	github.com/gravitational/teleport/lib/client/keystore.go:322 github.com/gravitational/teleport/lib/client.(*FSKeyStore).GetKey
TSHD 	github.com/gravitational/teleport/lib/client/client_store.go:82 github.com/gravitational/teleport/lib/client.(*Store).GetKey
TSHD 	github.com/gravitational/teleport/lib/client/keyagent.go:298 github.com/gravitational/teleport/lib/client.(*LocalKeyAgent).GetKey
TSHD 	github.com/gravitational/teleport/lib/teleterm/clusters/storage.go:218 github.com/gravitational/teleport/lib/teleterm/clusters.(*Storage).fromProfile
TSHD 	github.com/gravitational/teleport/lib/teleterm/clusters/storage.go:66 github.com/gravitational/teleport/lib/teleterm/clusters.(*Storage).GetByURI
TSHD 	github.com/gravitational/teleport/lib/teleterm/clusters/storage.go:82 github.com/gravitational/teleport/lib/teleterm/clusters.(*Storage).GetByResourceURI
TSHD 	github.com/gravitational/teleport/lib/teleterm/daemon/daemon.go:131 github.com/gravitational/teleport/lib/teleterm/daemon.(*Service).ResolveCluster
TSHD 	github.com/gravitational/teleport/lib/teleterm/apiserver/handler/handler_auth.go:27 github.com/gravitational/teleport/lib/teleterm/apiserver/handler.(*Handler).Login
TSHD 	github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1/service_grpc.pb.go:1076 github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1._TerminalService_Login_Handler.func1
TSHD 	github.com/gravitational/teleport/lib/teleterm/apiserver/middleware.go:36 github.com/gravitational/teleport/lib/teleterm/apiserver.withErrorHandling.func1
TSHD 	github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1/service_grpc.pb.go:1078 github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1._TerminalService_Login_Handler
TSHD 	google.golang.org/grpc@v1.55.0/server.go:1337 google.golang.org/grpc.(*Server).processUnaryRPC
TSHD 	google.golang.org/grpc@v1.55.0/server.go:1714 google.golang.org/grpc.(*Server).handleStream
TSHD 	google.golang.org/grpc@v1.55.0/server.go:959 google.golang.org/grpc.(*Server).serveStreams.func1.1
TSHD 	runtime/asm_arm64.s:1172 runtime.goexit
TSHD User Message: open /Users/rav/Library/Application Support/Electron/tsh/keys/teleport-local.dev/rav-x509.pem: no such file or directory] clusters/storage.go:220

This was spammed frequently enough in the logs that was plain confusing for users submitting logs for troubleshooting – I've seen at least two instances of that.

This PR makes it so that we just log the fact that the keys were not found, without including the error.

Comment thread lib/teleterm/clusters/storage.go
@ravicious ravicious disabled auto-merge July 5, 2023 11:46
@ravicious ravicious enabled auto-merge July 5, 2023 11:47
@public-teleport-github-review-bot public-teleport-github-review-bot Bot removed the request for review from lxea July 5, 2023 11:50
@ravicious
Copy link
Copy Markdown
Member Author

Thanks for quick reviews!

@ravicious ravicious added this pull request to the merge queue Jul 5, 2023
Merged via the queue into master with commit 6547a01 Jul 5, 2023
@ravicious ravicious deleted the ravicious/get-key-error branch July 5, 2023 12:24
@public-teleport-github-review-bot
Copy link
Copy Markdown

@ravicious See the table below for backport results.

Branch Result
branch/v11 Create PR
branch/v12 Create PR
branch/v13 Create PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants