Skip to content

Understand the semantics of ssh client in case the command fails #1343

Closed
@vamossagar12

Description

@vamossagar12

While working on : #1096 , the code tries to access the /healthz end point SSHing into the a master node:

sshResult, err := measurementutil.SSH(command, host+":22", provider)

The semantics that we need to understand is what happens if the command fails internally with error 500 for the Curl Request. In that case, what corrective actions need to be taken?

Currently, only err and sshResult.Code is checked:

https://github.com/kubernetes/perf-tests/blob/master/clusterloader2/pkg/measurement/common/scheduler_latency.go#L317-L322

However, in some of my local testing, it was found that when the Curl request for /healthz end point fails, then Stderr in SshResult would be populated. In case of a proper response, Stderr would be empty and Stdout would be populated. The findings have been noted here:

#1162 (comment)

The intention is to find the semantics to verify this behaviour and document it accordingly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions