returnargs,fmt.Errorf("issue detecting node's OS via node's /etc/os-release. Err: %v, Output:\n%s",err,output)
}
if!strings.Contains(output,"ID=gci"){
// This is not a GCI image
returnargs,nil
}
// If we are testing on a GCI node, we chmod 544 the mounter and specify a different mounter path in the test args.
// We do this here because the local var `workspace` tells us which /tmp/node-e2e-%d is relevant to the current test run.
// Determine if the GCI mounter script exists locally.
k8sDir,err:=builder.GetK8sRootDir()
iferr!=nil{
returnargs,fmt.Errorf("could not find K8s root dir! Err: %v",err)
}
source:=filepath.Join(k8sDir,localGCIMounterPath)
// Require the GCI mounter script, we want to make sure the remote test runner stays up to date if the mounter file moves
if_,err=os.Stat(source);err!=nil{
returnargs,fmt.Errorf("could not find GCI mounter script at %q! If this script has been (re)moved, please update the e2e node remote test runner accordingly! Err: %v",source,err)
}
glog.Infof("GCI node and GCI mounter both detected, modifying --experimental-mounter-path accordingly")
// Note this implicitly requires the script to be where we expect in the tarball, so if that location changes the error
// here will tell us to update the remote test runner.