...
1
16
17 package remote
18
19 import (
20 "fmt"
21 "os"
22 "os/exec"
23 "time"
24
25 "k8s.io/klog/v2"
26 "k8s.io/kubernetes/test/utils"
27 )
28
29
30 type CAdvisorE2ERemote struct{}
31
32
33 func init() {
34 RegisterTestSuite("cadvisor", &CAdvisorE2ERemote{})
35 }
36
37
38 func (n *CAdvisorE2ERemote) SetupTestPackage(tardir, systemSpecName string) error {
39 cadvisorRootDir, err := utils.GetCAdvisorRootDir()
40 if err != nil {
41 return err
42 }
43
44 if err := runCommand(fmt.Sprintf("%s/build/prow_e2e.sh", cadvisorRootDir)); err != nil {
45 return err
46 }
47
48 if err := runCommand("cp", "-R", cadvisorRootDir, fmt.Sprintf("%s/", tardir)); err != nil {
49 return err
50 }
51 return nil
52 }
53
54 func runCommand(command string, args ...string) error {
55 cmd := exec.Command(command, args...)
56 cmd.Stdout = os.Stdout
57 cmd.Stderr = os.Stderr
58 err := cmd.Run()
59 if err != nil {
60 return fmt.Errorf("failed to run command %s. error: %w", command, err)
61 }
62 return nil
63 }
64
65
66 func (n *CAdvisorE2ERemote) RunTest(host, workspace, _, _, _, _, _, _, _, _ string, timeout time.Duration) (string, error) {
67
68 cleanupNodeProcesses(host)
69
70 klog.V(2).Infof("Starting tests on %q", host)
71 return SSH(host, "sh", "-c", getSSHCommand(" && ",
72 fmt.Sprintf("cd %s/cadvisor", workspace),
73 fmt.Sprintf("timeout -k 30s %fs ./build/integration.sh ../results/cadvisor.log",
74 timeout.Seconds()),
75 ))
76 }
77
View as plain text