Setup e2e_node to support testing on ARM64

* Enable dockerized build with --use-dockerized-build=true
* Build and create test artifacts for ARM64 with --target-build-arch=arm64
* Prepull multi-arch ready container image
* Download ARM64 binaries/packages if running on ARM64 machine
This commit is contained in:
Ike Ma
2023-03-30 17:01:38 +00:00
parent 6d09ab86c2
commit e21cf9a54e
7 changed files with 57 additions and 9 deletions

View File

@@ -48,7 +48,7 @@ func (n *NodeE2ERemote) SetupTestPackage(tardir, systemSpecName string) error {
}
// Make sure we can find the newly built binaries
buildOutputDir, err := utils.GetK8sBuildOutputDir()
buildOutputDir, err := utils.GetK8sBuildOutputDir(builder.IsDockerizedBuild(), builder.GetTargetBuildArch())
if err != nil {
return fmt.Errorf("failed to locate kubernetes build output directory: %w", err)
}
@@ -62,6 +62,7 @@ func (n *NodeE2ERemote) SetupTestPackage(tardir, systemSpecName string) error {
requiredBins := []string{"kubelet", "e2e_node.test", "ginkgo", "mounter", "gcp-credential-provider"}
for _, bin := range requiredBins {
source := filepath.Join(buildOutputDir, bin)
klog.V(2).Infof("Copying binaries from %s", source)
if _, err := os.Stat(source); err != nil {
return fmt.Errorf("failed to locate test binary %s: %w", bin, err)
}