Documentation ¶
Index ¶
- Variables
- func Backoff(baseDelay, maxDelay time.Duration, retries int) time.Duration
- func CheckDeployment(ctx context.Context, namespace, deployment string) error
- func CheckDeployments(namespace string, timeout time.Duration) error
- func CheckPodsRunning(n string) (ready bool)
- func Compare(out, model []byte) error
- func CompareFiles(outFile, modelFile string) error
- func CompareToFile(out []byte, modelFile string) error
- func CopyFile(src, dst string) error
- func CreateNamespace(n string) error
- func CreateTempfile(tmpDir, prefix, suffix string) (string, error)
- func DeleteNamespace(n string) error
- func DownloadRelease(version, tmpDir string) (string, error)
- func EnsureTestServer() *bootstrap.Server
- func ExtractTarGz(gzipStream io.Reader) error
- func FetchAndSaveClusterLogs(namespace string, tempDir string) error
- func Fill(outFile, inFile string, values interface{}) error
- func GetHeadCommitSHA(org, repo, branch string) (string, error)
- func GetIngress(n string) (string, error)
- func GetIngressPod(n string) (string, error)
- func GetOsExt() (string, error)
- func GetPodStatus(n, pod string) string
- func GetPodsName(n string) (pods []string)
- func GetResourcePath(p string) string
- func GitRootDir() (string, error)
- func HTTPDownload(dst string, src string) error
- func IsProcessRunning(p *os.Process) (bool, error)
- func IsProcessRunningInt(pid int) (bool, error)
- func IsProcessRunningString(pidS string) (bool, error)
- func KillProcess(p *os.Process) (err error)
- func KubeApply(namespace, yamlFileName string) error
- func KubeApplyContents(namespace, yamlContents string) error
- func KubeDelete(namespace, yamlFileName string) error
- func KubeDeleteContents(namespace, yamlContents string) error
- func NamespaceDeleted(n string) (bool, error)
- func Poll(interval time.Duration, numTrials int, do func() (bool, error)) error
- func Record(command, record string) error
- func RunBackground(format string, args ...interface{}) (*os.Process, error)
- func RunEnvoy(base string, template string) error
- func Shell(format string, args ...interface{}) (string, error)
- func ShellContext(ctx context.Context, format string, args ...interface{}) (string, error)
- func ShellMuteOutput(format string, args ...interface{}) (string, error)
- func ShellSilent(format string, args ...interface{}) (string, error)
- func Teardown()
- func WriteTempfile(tmpDir, prefix, suffix, contents string) (string, error)
- func WriteTextFile(filePath, content string) error
- type Break
- type Retrier
Constants ¶
This section is empty.
Variables ¶
var ( IstioTop = os.Getenv("TOP") IstioSrc = os.Getenv("ISTIO_GO") IstioBin = os.Getenv("ISTIO_BIN") IstioOut = os.Getenv("ISTIO_OUT") // EnvoyOutWriter captures envoy output // Redirect out and err from envoy to buffer - coverage tests get confused if we write to out. // TODO: use files EnvoyOutWriter bytes.Buffer // EnvoyErrWriter captures envoy errors EnvoyErrWriter bytes.Buffer )
Extracted from watcher_test, will run envoy
var ( // MockTestServer is used for the unit tests. Will be started once, terminated at the // end of the suite. MockTestServer *bootstrap.Server // MockPilotURL is the URL for the pilot http endpoint MockPilotURL string // MockPilotGrpcAddr is the address to be used for grpc connections. MockPilotGrpcAddr string )
Functions ¶
func Backoff ¶
Backoff returns a random value in [0, maxDelay] that increases exponentially with retries, starting from baseDelay. It is the Go equivalent to C++'s //util/time/backoff.cc.
func CheckDeployment ¶
CheckDeployment gets status of a deployment from a namespace
func CheckDeployments ¶
CheckDeployments checks whether all deployment in a given namespace
func CheckPodsRunning ¶
CheckPodsRunning return if all pods in a namespace are in "Running" status Also check container status to be running.
func Compare ¶
Compare compares two byte slices. It returns an error with a contextual diff if they are not equal.
func CompareFiles ¶
CompareFiles compares the content of two files
func CompareToFile ¶
CompareToFile compares a content with a file
func CreateNamespace ¶
CreateNamespace create a kubernetes namespace
func CreateTempfile ¶
CreateTempfile creates a tempfile string.
func DeleteNamespace ¶
DeleteNamespace delete a kubernetes namespace
func DownloadRelease ¶
DownloadRelease gets the specified release from istio repo to tmpDir.
func EnsureTestServer ¶
EnsureTestServer will ensure a pilot server is running in process and initializes the MockPilotUrl and MockPilotGrpcAddr to allow connections to the test pilot.
func ExtractTarGz ¶
ExtractTarGz extracts a .tar.gz file into current dir.
func FetchAndSaveClusterLogs ¶
FetchAndSaveClusterLogs will dump the logs for a cluster.
func GetHeadCommitSHA ¶
GetHeadCommitSHA finds the SHA of the commit to which the HEAD of branch points
func GetIngressPod ¶
GetIngressPod get istio ingress ip
func GetPodStatus ¶
GetPodStatus gets status of a pod from a namespace Note: It is not enough to check pod phase, which only implies there is at least one container running. Use kubectl CLI to get status so that we can ensure that all containers are running.
func GetPodsName ¶
GetPodsName gets names of all pods in specific namespace and return in a slice
func GetResourcePath ¶
GetResourcePath give "path from WORKSPACE", return absolute path at runtime
func GitRootDir ¶
GitRootDir returns the absolute path to the root directory of the git repo where this function is called
func HTTPDownload ¶
HTTPDownload download from src(url) and store into dst(local file)
func IsProcessRunning ¶
IsProcessRunning check if a os.Process is running
func IsProcessRunningInt ¶
IsProcessRunningInt check if a process of the given pid(int) is running
func IsProcessRunningString ¶
IsProcessRunningString check if a process of the given pid(string) is running
func KubeApplyContents ¶
KubeApplyContents kubectl apply from contents
func KubeDelete ¶
KubeDelete kubectl delete from file
func KubeDeleteContents ¶
KubeDeleteContents kubectl apply from contents
func NamespaceDeleted ¶
NamespaceDeleted check if a kubernete namespace is deleted
func Poll ¶
Poll executes do() after time interval for a max of numTrials times. The bool returned by do() indicates if polling succeeds in that trial
func RunBackground ¶
RunBackground starts a background process and return the Process if succeed
func RunEnvoy ¶
RunEnvoy runs an envoy process. Base is the basename for the generate envoy.json, template is the template to be used to run envoy.
func ShellContext ¶
ShellContext run command on shell and get back output and error if get one
func ShellMuteOutput ¶
ShellMuteOutput run command on shell and get back output and error if get one without logging the output
func ShellSilent ¶
ShellSilent runs command on shell and get back output and error if get one without logging the command or output.
func WriteTempfile ¶
WriteTempfile creates a tempfile with the specified contents.
func WriteTextFile ¶
WriteTextFile overwrites the file on the given path with content
Types ¶
type Break ¶
type Break struct {
Err error
}
Break the retry loop if the error returned is of this type.
type Retrier ¶
type Retrier struct { // BaseDelay is the minimum delay between retry attempts. BaseDelay time.Duration // MaxDelay is the maximum delay allowed between retry attempts. MaxDelay time.Duration // MaxDuration is the maximum cumulative duration allowed for all retries MaxDuration time.Duration // Retries defines number of retry attempts Retries int }
Retrier contains the retry configuration parameters.