runtime: display accurate error msg to avoid misleading users.

The original handling method does not reach user expectations.
When the ClientSocketAddress method stats the corresponding
path of runtime-rs and has not found it yet, we should return
an error message here that includes the reason for the failure
(which should be an error display indicating that both runtime-go
and runtime-rs were not found). Instead of simply displaying the
corresponding path of runtime-rs as the final error message to
users.
It is also necessary to return the error promptly to the caller
for further error handling.

Fixes: #8999

Signed-off-by: Alex Lyn <alex.lyn@antgroup.com>
This commit is contained in:
Alex Lyn
2024-02-04 16:24:51 +08:00
parent e0bb632053
commit c6830ceb89
3 changed files with 13 additions and 4 deletions

View File

@@ -19,7 +19,12 @@ import (
// BuildShimClient builds and returns an http client for communicating with the provided sandbox
func BuildShimClient(sandboxID string, timeout time.Duration) (*http.Client, error) {
return buildUnixSocketClient(shim.ClientSocketAddress(sandboxID), timeout)
socketAddress, err := shim.ClientSocketAddress(sandboxID)
if err != nil {
return nil, err
}
return buildUnixSocketClient(socketAddress, timeout)
}
// buildUnixSocketClient build http client for Unix socket