本文整理汇总了Golang中github.com/jimmidyson/minishift/test/integration/util.MinikubeRunner类的典型用法代码示例。如果您正苦于以下问题:Golang MinikubeRunner类的具体用法?Golang MinikubeRunner怎么用?Golang MinikubeRunner使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MinikubeRunner类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestClusterStatus
func TestClusterStatus(t *testing.T) {
minikubeRunner := util.MinikubeRunner{
Args: *args,
BinaryPath: *binaryPath,
T: t}
minikubeRunner.EnsureRunning()
kubectlRunner := util.NewKubectlRunner(t)
cs := api.ComponentStatusList{}
healthy := func() error {
if err := kubectlRunner.RunCommandParseOutput([]string{"get", "cs"}, &cs); err != nil {
return err
}
for _, i := range cs.Items {
status := api.ConditionFalse
for _, c := range i.Conditions {
if c.Type != api.ComponentHealthy {
continue
}
fmt.Printf("Component: %s, Healthy: %s.\n", i.GetName(), c.Status)
status = c.Status
}
if status != api.ConditionTrue {
return fmt.Errorf("Component %s is not Healthy! Status: %s", i.GetName(), status)
}
}
return nil
}
if err := commonutil.RetryAfter(4, healthy, 1*time.Second); err != nil {
t.Fatalf("Cluster is not healthy: %s", err)
}
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:34,代码来源:cluster_status_test.go
示例2: TestDashboard
func TestDashboard(t *testing.T) {
minikubeRunner := util.MinikubeRunner{
BinaryPath: *binaryPath,
Args: *args,
T: t}
minikubeRunner.Start()
minikubeRunner.CheckStatus("Running")
kubectlRunner := util.NewKubectlRunner(t)
checkDashboard := func() error {
rc := api.ReplicationController{}
svc := api.Service{}
if err := kubectlRunner.RunCommandParseOutput(dashboardRcCmd, &rc); err != nil {
return err
}
if err := kubectlRunner.RunCommandParseOutput(dashboardSvcCmd, &svc); err != nil {
return err
}
if rc.Status.Replicas != rc.Status.FullyLabeledReplicas {
return fmt.Errorf("Not enough pods running. Expected %s, got %s.", rc.Status.Replicas, rc.Status.FullyLabeledReplicas)
}
if svc.Spec.Ports[0].NodePort != 30000 {
return fmt.Errorf("Dashboard is not exposed on port {}", svc.Spec.Ports[0].NodePort)
}
return nil
}
if err := commonutil.RetryAfter(10, checkDashboard, 5*time.Second); err != nil {
t.Fatalf("Dashboard is unhealthy: %s", err)
}
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:35,代码来源:addons_test.go
示例3: TestAddons
func TestAddons(t *testing.T) {
minikubeRunner := util.MinikubeRunner{
BinaryPath: *binaryPath,
Args: *args,
T: t}
minikubeRunner.EnsureRunning()
kubectlRunner := util.NewKubectlRunner(t)
checkAddon := func() error {
pods := api.PodList{}
if err := kubectlRunner.RunCommandParseOutput(addonManagerCmd, &pods); err != nil {
return err
}
for _, p := range pods.Items {
if strings.HasPrefix(p.ObjectMeta.Name, "kube-addon-manager-") {
if p.Status.Phase == "Running" {
return nil
} else {
return fmt.Errorf("Pod is not Running. Status: %s", p.Status.Phase)
}
}
}
return fmt.Errorf("Addon manager not found. Found pods: %s", pods)
}
if err := commonutil.RetryAfter(20, checkAddon, 5*time.Second); err != nil {
t.Fatalf("Addon Manager pod is unhealthy: %s", err)
}
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:32,代码来源:addons_test.go
示例4: TestClusterSSH
func TestClusterSSH(t *testing.T) {
minikubeRunner := util.MinikubeRunner{
Args: *args,
BinaryPath: *binaryPath,
T: t}
minikubeRunner.EnsureRunning()
expectedStr := "hello"
sshCmdOutput := minikubeRunner.RunCommand("ssh echo "+expectedStr, true)
if !strings.Contains(sshCmdOutput, expectedStr) {
t.Fatalf("ExpectedStr sshCmdOutput to be: %s. Output was: %s", expectedStr, sshCmdOutput)
}
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:13,代码来源:cluster_ssh_test.go
示例5: TestClusterLogs
func TestClusterLogs(t *testing.T) {
minikubeRunner := util.MinikubeRunner{
Args: *args,
BinaryPath: *binaryPath,
T: t}
minikubeRunner.EnsureRunning()
logsCmdOutput := minikubeRunner.RunCommand("logs", true)
//check for # of lines or check for strings
logFiles := []string{constants.RemoteOpenShiftErrPath, constants.RemoteOpenShiftOutPath}
for _, logFile := range logFiles {
if !strings.Contains(logsCmdOutput, logFile) {
t.Fatalf("Error in logsCmdOutput, expected to find: %s. Output: %s", logFile, logsCmdOutput)
}
}
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:16,代码来源:cluster_logs_test.go
示例6: TestClusterDNS
func TestClusterDNS(t *testing.T) {
minikubeRunner := util.MinikubeRunner{
BinaryPath: *binaryPath,
Args: *args,
T: t}
minikubeRunner.EnsureRunning()
kubectlRunner := util.NewKubectlRunner(t)
podName := "busybox"
podPath, _ := filepath.Abs("testdata/busybox.yaml")
dnsTest := func() error {
podNamespace := kubectlRunner.CreateRandomNamespace()
defer kubectlRunner.DeleteNamespace(podNamespace)
if _, err := kubectlRunner.RunCommand([]string{"create", "-f", podPath, "--namespace=" + podNamespace}); err != nil {
return err
}
defer kubectlRunner.RunCommand([]string{"delete", "-f", podPath, "--namespace=" + podNamespace})
p := api.Pod{}
for p.Status.Phase != "Running" {
if err := kubectlRunner.RunCommandParseOutput([]string{"get", "pod", podName, "--namespace=" + podNamespace}, &p); err != nil {
return err
}
}
dnsByteArr, err := kubectlRunner.RunCommand([]string{"exec", podName, "--namespace=" + podNamespace,
"nslookup", "kubernetes.default"})
dnsOutput := string(dnsByteArr)
if err != nil {
return err
}
if !strings.Contains(dnsOutput, "10.0.0.1") || !strings.Contains(dnsOutput, "10.0.0.10") {
return fmt.Errorf("DNS lookup failed, could not find both 10.0.0.1 and 10.0.0.10. Output: %s", dnsOutput)
}
return nil
}
if err := commonutil.RetryAfter(4, dnsTest, 1*time.Second); err != nil {
t.Fatalf("DNS lookup failed with error:", err)
}
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:44,代码来源:cluster_dns_test.go
示例7: TestClusterEnv
func TestClusterEnv(t *testing.T) {
minikubeRunner := util.MinikubeRunner{
Args: *args,
BinaryPath: *binaryPath,
T: t}
minikubeRunner.EnsureRunning()
dockerEnvVars := minikubeRunner.RunCommand("docker-env", true)
if err := minikubeRunner.SetEnvFromEnvCmdOutput(dockerEnvVars); err != nil {
t.Fatalf("Error: No environment variables were found in docker-env command output: ", dockerEnvVars)
}
path, err := exec.LookPath("docker")
var output []byte
dockerPs := func() error {
cmd := exec.Command(path, "ps")
output, err = cmd.CombinedOutput()
return err
}
if err := commonutil.RetryAfter(5, dockerPs, 3*time.Second); err != nil {
t.Fatalf("Error running command: %s. Error: %s Output: %s", "docker ps", err, output)
}
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:23,代码来源:cluster_env_test.go
示例8: TestStartStop
func TestStartStop(t *testing.T) {
runner := util.MinikubeRunner{
Args: *args,
BinaryPath: *binaryPath,
T: t}
runner.RunCommand("delete", false)
runner.CheckStatus("Does Not Exist")
runner.Start()
runner.CheckStatus("Running")
ip := runner.RunCommand("ip", true)
ip = strings.TrimRight(ip, "\n")
if net.ParseIP(ip) == nil {
t.Fatalf("IP command returned an invalid address: %s", ip)
}
runner.RunCommand("stop", true)
runner.CheckStatus("Stopped")
runner.Start()
runner.CheckStatus("Running")
runner.RunCommand("delete", true)
runner.CheckStatus("Does Not Exist")
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:27,代码来源:start_stop_delete_test.go
注:本文中的github.com/jimmidyson/minishift/test/integration/util.MinikubeRunner类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论