type ConformanceRemote … func init() { … } // getConformanceDirectory gets node conformance test build directory. func getConformanceDirectory() (string, error) { … } // commandToString is a helper function which formats command to string. func commandToString(c *exec.Cmd) string { … } const conformanceRegistry … const conformanceArch … const conformanceTarfile … const conformanceTestBinary … const conformanceImageLoadTimeout … var timestamp … // getConformanceTestImageName returns name of the conformance test image given the system spec name. func getConformanceTestImageName(systemSpecName string) string { … } // buildConformanceTest builds node conformance test image tarball into binDir. func buildConformanceTest(binDir, systemSpecName string) error { … } // SetupTestPackage sets up the test package with binaries k8s required for node conformance test func (c *ConformanceRemote) SetupTestPackage(tardir, systemSpecName string) error { … } // loadConformanceImage loads node conformance image from tar file. func loadConformanceImage(host, workspace string) error { … } const kubeletLauncherLog … var kubeletPodPath … // getPodPath returns pod manifest full path. func getPodPath(workspace string) string { … } // isSystemd returns whether the node is a systemd node. func isSystemd(host string) (bool, error) { … } // launchKubelet launches kubelet by running e2e_node.test binary in run-kubelet-mode. // This is a temporary solution, we should change node e2e to use the same node bootstrap // with cluster e2e and launch kubelet outside of the test for both regular node e2e and // node conformance test. // TODO(random-liu): Switch to use standard node bootstrap script. func launchKubelet(host, workspace, results, testArgs, bearerToken string) error { … } const kubeletStopGracePeriod … // stopKubelet stops kubelet launcher and kubelet gracefully. func stopKubelet(host, workspace string) error { … } // RunTest runs test on the node. func (c *ConformanceRemote) RunTest(host, workspace, results, imageDesc, junitFilePrefix, testArgs, _, systemSpecName, extraEnvs, _ string, timeout time.Duration) (string, error) { … } // generateSecureToken returns a string of length tokenLen, consisting // of random bytes encoded as base64 for use as a Bearer Token during // communication with an APIServer func generateSecureToken(tokenLen int) (string, error) { … }