ssh

package
v1.16.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSigner

func GetSigner(provider string) (ssh.Signer, error)

GetSigner returns an ssh.Signer for the provider ("gce", etc.) that can be used to SSH to their nodes.

func IssueSSHCommand

func IssueSSHCommand(cmd, provider string, node *v1.Node) error

IssueSSHCommand tries to execute a SSH command

func LogResult

func LogResult(result Result)

LogResult records result log

func NodeSSHHosts

func NodeSSHHosts(c clientset.Interface) ([]string, error)

NodeSSHHosts returns SSH-able host names for all schedulable nodes - this excludes master node. If it can't find any external IPs, it falls back to looking for internal IPs. If it can't find an internal IP for every node it returns an error, though it still returns all hosts that it found in that case.

func RunSSHCommandViaBastion

func RunSSHCommandViaBastion(cmd, user, bastion, host string, signer ssh.Signer) (string, string, int, error)

RunSSHCommandViaBastion returns the stdout, stderr, and exit code from running cmd on host as specific user, along with any SSH-level error. It uses an SSH proxy to connect to bastion, then via that tunnel connects to the remote host. Similar to sshutil.RunSSHCommand but scoped to the needs of the test infrastructure.

Types

type Result

type Result struct {
	User   string
	Host   string
	Cmd    string
	Stdout string
	Stderr string
	Code   int
}

Result holds the execution result of SSH command

func IssueSSHCommandWithResult

func IssueSSHCommandWithResult(cmd, provider string, node *v1.Node) (*Result, error)

IssueSSHCommandWithResult tries to execute a SSH command and returns the execution result

func NodeExec

func NodeExec(nodeName, cmd, provider string) (Result, error)

NodeExec execs the given cmd on node via SSH. Note that the nodeName is an sshable name, eg: the name returned by framework.GetMasterHost(). This is also not guaranteed to work across cloud providers since it involves ssh.

func SSH

func SSH(cmd, host, provider string) (Result, error)

SSH synchronously SSHs to a node running on provider and runs cmd. If there is no error performing the SSH, the stdout, stderr, and exit code are returned.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL