...

Package ssh

import "k8s.io/kubernetes/test/e2e/framework/ssh"
Overview
Index

Overview ▾

Constants

const (
    // SSHPort is tcp port number of SSH
    SSHPort = "22"
)

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(ctx context.Context, 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(ctx context.Context, c clientset.Interface) ([]string, error)

NodeSSHHosts returns SSH-able host names for all schedulable nodes. 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.

type Result

Result holds the execution result of SSH command

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

func IssueSSHCommandWithResult

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

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

func NodeExec

func NodeExec(ctx context.Context, 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(ctx context.Context, 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.