Documentation ¶
Index ¶
- func AreAllPodsRunning(podPrefix, namespace string) (bool, error)
- func AreAllPodsSucceeded(podPrefix, namespace string) (bool, bool, error)
- func PrintPodsLogs(podPrefix, namespace string)
- func ReplaceContainerImageFromFile(filename, containerImage string) (string, error)
- func RunCommandMultipleTimes(podRunnerCmd podRunnerCmd, image, name, command string, desiredAttempts int, ...) (int, error)
- func WaitOnReady(podPrefix, namespace string, successesNeeded int, sleep, timeout time.Duration) (bool, error)
- func WaitOnSucceeded(name, namespace string, sleep, timeout time.Duration) (bool, error)
- func WaitOnTerminated(name, namespace, containerName string, ...) (bool, error)
- type AreAllPodsRunningResult
- type AreAllPodsSucceededResult
- type Container
- type ContainerState
- type ContainerStatus
- type EnvVar
- type ExecResult
- type GetAllByPrefixResult
- type GetPodResult
- type GetResult
- type Limits
- type List
- type Metadata
- type Pod
- func CreatePodFromFile(filename, name, namespace string, sleep, timeout time.Duration) (*Pod, error)
- func CreatePodFromFileIfNotExist(filename, name, namespace string, sleep, timeout time.Duration) (*Pod, error)
- func Get(podName, namespace string, retries int) (*Pod, error)
- func GetAllByPrefix(prefix, namespace string) ([]Pod, error)
- func GetWithRetry(podPrefix, namespace string, sleep, timeout time.Duration) (*Pod, error)
- func RunLinuxPod(image, name, namespace, command string, printOutput bool, ...) (*Pod, error)
- func RunWindowsPod(image, name, namespace, command string, printOutput bool, ...) (*Pod, error)
- func (p *Pod) CheckLinuxOutboundConnection(sleep, timeout time.Duration) (bool, error)
- func (p *Pod) CheckWindowsOutboundConnection(sleep, timeout time.Duration) (bool, error)
- func (p *Pod) ContainerStatus(name string) (ContainerStatus, error)
- func (p *Pod) Delete(retries int) error
- func (p *Pod) Describe() error
- func (p *Pod) Exec(c ...string) ([]byte, error)
- func (p *Pod) ExecAsync(c ...string) ExecResult
- func (p *Pod) IsFailed() bool
- func (p *Pod) IsSucceeded() bool
- func (p *Pod) Logs() error
- func (p *Pod) ValidateAzureFile(mountPath string, sleep, timeout time.Duration) (bool, error)
- func (p *Pod) ValidateCurlConnection(uri string, sleep, timeout time.Duration) (bool, error)
- func (p *Pod) ValidateHostPort(check string, attempts int, sleep time.Duration, master, sshKeyPath string) bool
- func (p *Pod) ValidateOmsAgentLogs(execCmdString string, sleep, timeout time.Duration) (bool, error)
- func (p *Pod) ValidatePVC(mountPath string, sleep, timeout time.Duration) (bool, error)
- func (p *Pod) WaitOnReady(sleep, timeout time.Duration) (bool, error)
- func (p *Pod) WaitOnSucceeded(sleep, duration time.Duration) (bool, error)
- func (p *Pod) WaitOnTerminated(container string, sleep, containerExecutionTimeout, timeout time.Duration) (bool, error)
- type Port
- type Requests
- type Resources
- type Spec
- type Status
- type TerminatedContainerState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AreAllPodsRunning ¶
AreAllPodsRunning will return true if all pods in a given namespace are in a Running State
func AreAllPodsSucceeded ¶
AreAllPodsSucceeded returns true, false if all pods in a given namespace are in a Running State returns false, true if any one pod is in a Failed state
func PrintPodsLogs ¶ added in v0.41.0
func PrintPodsLogs(podPrefix, namespace string)
PrintPodsLogs prints logs for all pods whose name matches a substring
func ReplaceContainerImageFromFile ¶
ReplaceContainerImageFromFile loads in a YAML, finds the image: line, and replaces it with the value of containerImage
func RunCommandMultipleTimes ¶
func RunCommandMultipleTimes(podRunnerCmd podRunnerCmd, image, name, command string, desiredAttempts int, sleep, commandTimeout, timeout time.Duration) (int, error)
RunCommandMultipleTimes runs the same command 'desiredAttempts' times
func WaitOnReady ¶
func WaitOnReady(podPrefix, namespace string, successesNeeded int, sleep, timeout time.Duration) (bool, error)
WaitOnReady returns true if all pods matching a prefix substring are in a succeeded state within a period of time successesNeeded is used to make sure we return the correct value even if the pod is in a CrashLoop
func WaitOnSucceeded ¶
WaitOnSucceeded will return true if a pod is in a Succeeded State
func WaitOnTerminated ¶ added in v0.41.0
func WaitOnTerminated(name, namespace, containerName string, sleep, containerExecutionTimeout, timeout time.Duration) (bool, error)
WaitOnTerminated will return true if a pod's container is in a successful (0 exit code) Terminated State and completed prior to the passed in containerExecutionTimeout
Types ¶
type AreAllPodsRunningResult ¶ added in v0.41.0
type AreAllPodsRunningResult struct {
// contains filtered or unexported fields
}
AreAllPodsRunningResult is a return struct for AreAllPodsRunningAsync
func AreAllPodsRunningAsync ¶ added in v0.41.0
func AreAllPodsRunningAsync(podPrefix, namespace string) AreAllPodsRunningResult
AreAllPodsRunningAsync wraps AreAllPodsRunning with a struct response for goroutine + channel usage
type AreAllPodsSucceededResult ¶ added in v0.41.0
type AreAllPodsSucceededResult struct {
// contains filtered or unexported fields
}
AreAllPodsSucceededResult is a return struct for AreAllPodsSucceeded
func AreAllPodsSucceededAsync ¶ added in v0.41.0
func AreAllPodsSucceededAsync(podPrefix, namespace string) AreAllPodsSucceededResult
AreAllPodsSucceededAsync wraps AreAllPodsSucceeded with a struct response for goroutine + channel usage
type Container ¶
type Container struct { Image string `json:"image"` Ports []Port `json:"ports"` Env []EnvVar `json:"env"` Resources Resources `json:"resources"` Name string `json:"name"` Args []string `json:"args"` }
Container holds information like image and ports
func (*Container) GetArg ¶ added in v0.30.0
GetArg returns an arg's value from a container within a pod
func (*Container) GetEnvironmentVariable ¶
GetEnvironmentVariable returns an environment variable value from a container within a pod
func (*Container) ValidateResources ¶
func (c *Container) ValidateResources(a api.KubernetesContainerSpec) error
ValidateResources checks that an addon has the expected memory/cpu limits and requests
type ContainerState ¶
type ContainerState struct {
Terminated TerminatedContainerState `json:"terminated"`
}
ContainerState has state of a container
type ContainerStatus ¶
type ContainerStatus struct { ContainerID string `json:"containerID"` Image string `json:"image"` ImageID string `json:"imageID"` Name string `json:"name"` Ready bool `json:"ready"` RestartCount int `json:"restartCount"` State ContainerState `json:"state"` LastState ContainerState `json:"lastState"` }
ContainerStatus has status of a container
func (*ContainerStatus) EndTime ¶ added in v0.41.0
func (c *ContainerStatus) EndTime() string
EndTime returns a ContainerStatus's terminal "finished at" RFC3339 time
func (*ContainerStatus) ExitCode ¶ added in v0.41.0
func (c *ContainerStatus) ExitCode() int
ExitCode returns a ContainerStatus's terminal exit code
func (*ContainerStatus) StartTime ¶ added in v0.41.0
func (c *ContainerStatus) StartTime() string
StartTime returns a terminal ContainerStatus's terminal "started at" RFC3339 time
type ExecResult ¶ added in v0.41.0
type ExecResult struct {
// contains filtered or unexported fields
}
ExecResult is a return struct for ExecAsync
type GetAllByPrefixResult ¶ added in v0.41.0
GetAllByPrefixResult is the result type for GetAllByPrefixAsync
func GetAllByPrefixAsync ¶ added in v0.41.0
func GetAllByPrefixAsync(prefix, namespace string) GetAllByPrefixResult
GetAllByPrefixAsync wraps GetAllByPrefix with a struct response for goroutine + channel usage
type GetPodResult ¶ added in v0.41.0
type GetPodResult struct {
// contains filtered or unexported fields
}
GetPodResult is a return struct for GetPodAsync
func GetPodAsync ¶ added in v0.41.0
func GetPodAsync(name, namespace string, timeout time.Duration) GetPodResult
GetPodAsync wraps GetWithRetry with a struct response for goroutine + channel usage
type GetResult ¶ added in v0.41.0
type GetResult struct {
// contains filtered or unexported fields
}
GetResult is a return struct for GetAsync
type List ¶
type List struct {
Pods []Pod `json:"items"`
}
List is a container that holds all pods returned from doing a kubectl get pods
type Metadata ¶
type Metadata struct { CreatedAt time.Time `json:"creationTimestamp"` Labels map[string]string `json:"labels"` Name string `json:"name"` Namespace string `json:"namespace"` }
Metadata holds information like name, createdat, labels, and namespace
type Pod ¶
type Pod struct { Metadata Metadata `json:"metadata"` Spec Spec `json:"spec"` Status Status `json:"status"` }
Pod is used to parse data from kubectl get pods
func CreatePodFromFile ¶
func CreatePodFromFile(filename, name, namespace string, sleep, timeout time.Duration) (*Pod, error)
CreatePodFromFile will create a Pod from file with a name
func CreatePodFromFileIfNotExist ¶ added in v0.36.0
func CreatePodFromFileIfNotExist(filename, name, namespace string, sleep, timeout time.Duration) (*Pod, error)
CreatePodFromFileIfNotExist will create a Pod from file with a name
func GetAllByPrefix ¶
GetAllByPrefix will return all pods in a given namespace that match a prefix
func GetWithRetry ¶
GetWithRetry gets a pod, allowing for retries
func RunLinuxPod ¶
func RunLinuxPod(image, name, namespace, command string, printOutput bool, sleep, commandTimeout, podGetTimeout time.Duration) (*Pod, error)
RunLinuxPod will create a pod that runs a bash command --overrides := `"spec": {"nodeSelector":{"beta.kubernetes.io/os":"windows"}}}`
func RunWindowsPod ¶
func RunWindowsPod(image, name, namespace, command string, printOutput bool, sleep, duration time.Duration, timeout time.Duration) (*Pod, error)
RunWindowsPod will create a pod that runs a powershell command --overrides := `"spec": {"nodeSelector":{"beta.kubernetes.io/os":"windows"}}}`
func (*Pod) CheckLinuxOutboundConnection ¶
CheckLinuxOutboundConnection will keep retrying the check if an error is received until the timeout occurs or it passes. This helps us when DNS may not be available for some time after a pod starts.
func (*Pod) CheckWindowsOutboundConnection ¶
CheckWindowsOutboundConnection will keep retrying the check if an error is received until the timeout occurs or it passes. This helps us when DNS may not be available for some time after a pod starts.
func (*Pod) ContainerStatus ¶ added in v0.41.0
func (p *Pod) ContainerStatus(name string) (ContainerStatus, error)
ContainerStatus returns a named pod ContainerStatus object
func (*Pod) ExecAsync ¶ added in v0.41.0
func (p *Pod) ExecAsync(c ...string) ExecResult
ExecAsync wraps Exec with a struct response for goroutine + channel usage
func (*Pod) IsSucceeded ¶ added in v0.41.0
IsSucceeded returns if a pod is in a Succeeded state
func (*Pod) ValidateAzureFile ¶
ValidateAzureFile will keep retrying the check if azure file is mounted in Pod
func (*Pod) ValidateCurlConnection ¶
ValidateCurlConnection connects to a URI on TCP 80
func (*Pod) ValidateHostPort ¶
func (p *Pod) ValidateHostPort(check string, attempts int, sleep time.Duration, master, sshKeyPath string) bool
ValidateHostPort will attempt to run curl against the POD's hostIP and hostPort
func (*Pod) ValidateOmsAgentLogs ¶
func (p *Pod) ValidateOmsAgentLogs(execCmdString string, sleep, timeout time.Duration) (bool, error)
ValidateOmsAgentLogs validates omsagent logs
func (*Pod) ValidatePVC ¶
ValidatePVC will keep retrying the check if azure disk is mounted in Pod
func (*Pod) WaitOnReady ¶
WaitOnReady will call the static method WaitOnReady passing in p.Metadata.Name and p.Metadata.Namespace
func (*Pod) WaitOnSucceeded ¶
WaitOnSucceeded will call the static method WaitOnSucceeded passing in p.Metadata.Name and p.Metadata.Namespace
type Status ¶
type Status struct { HostIP string `json:"hostIP"` Phase string `json:"phase"` PodIP string `json:"podIP"` StartTime time.Time `json:"startTime"` ContainerStatuses []ContainerStatus `json:"containerStatuses"` }
Status holds information like hostIP and phase
type TerminatedContainerState ¶
type TerminatedContainerState struct { ContainerID string `json:"containerID"` ExitCode int `json:"exitCode"` FinishedAt string `json:"finishedAt"` Reason string `json:"reason"` StartedAt string `json:"startedAt"` }
TerminatedContainerState shows terminated state of a container