mirror of https://github.com/k3s-io/k3s
Updating GCI mounter to be containerized
Signed-off-by: Vishnu kannan <vishnuk@google.com>pull/6/head
parent
634df04128
commit
19c19c2e0f
|
@ -17,4 +17,20 @@
|
|||
set -e
|
||||
set -o pipefail
|
||||
|
||||
sudo /bin/mount "$@"
|
||||
MOUNTER_DOCKER_IMAGE=gcr.io/google_containers/gci-mounter
|
||||
MOUNTER_DOCKER_VERSION=v1
|
||||
MOUNTER_USER=root
|
||||
RKT_BINARY=/home/kubernetes/bin/rkt
|
||||
|
||||
function gc {
|
||||
${RKT_BINARY} gc --grace-period=0s &> /dev/null
|
||||
}
|
||||
|
||||
# Garbage collect old rkt containers on exit
|
||||
trap gc EXIT
|
||||
|
||||
${RKT_BINARY} run --stage1-name="coreos.com/rkt/stage1-fly:1.17.0" \
|
||||
--insecure-options=image \
|
||||
--volume=rootfs,kind=host,source=/,readOnly=false,recursive=true \
|
||||
--mount volume=rootfs,target=/media/root \
|
||||
docker://${MOUNTER_DOCKER_IMAGE}:${MOUNTER_DOCKER_VERSION} --user=${MOUNTER_USER} --exec /bin/mount -- "$@"
|
||||
|
|
|
@ -42,10 +42,11 @@ var resultsDir = flag.String("results-dir", "/tmp/", "Directory to scp test resu
|
|||
var sshOptionsMap map[string]string
|
||||
|
||||
const (
|
||||
archiveName = "e2e_node_test.tar.gz"
|
||||
CNIRelease = "07a8a28637e97b22eb8dfe710eeae1344f69d16e"
|
||||
CNIDirectory = "cni"
|
||||
mounterRootfsPath string = "/"
|
||||
archiveName = "e2e_node_test.tar.gz"
|
||||
CNIRelease = "07a8a28637e97b22eb8dfe710eeae1344f69d16e"
|
||||
CNIDirectory = "cni"
|
||||
// Note: This path needs to be in sync with the "target" path for `/` in cluster/gce/gci/mounter/mounter
|
||||
mounterRootfsPath string = "/media/root"
|
||||
)
|
||||
|
||||
var CNIURL = fmt.Sprintf("https://storage.googleapis.com/kubernetes-release/network-plugins/cni-%s.tar.gz", CNIRelease)
|
||||
|
@ -264,8 +265,6 @@ func RunRemote(archive string, host string, cleanup bool, junitFilePrefix string
|
|||
return "", false, 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") {
|
||||
glog.Infof("GCI node and GCI mounter both detected, modifying --mounter-path & --experimental-mounter-rootfs-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.
|
||||
mounterPath := filepath.Join(tmp, "cluster/gce/gci/mounter/mounter")
|
||||
|
@ -277,6 +276,7 @@ func RunRemote(archive string, host string, cleanup bool, junitFilePrefix string
|
|||
// Insert args at beginning of testArgs, so any values from command line take precedence
|
||||
testArgs = fmt.Sprintf("--experimental-mounter-rootfs-path=%s ", mounterRootfsPath) + testArgs
|
||||
testArgs = fmt.Sprintf("--experimental-mounter-path=%s ", mounterPath) + testArgs
|
||||
glog.Infof("GCI node and GCI mounter both detected, setting --experimental-mounter-path=%q and --experimental-mounter-rootfs-path=%q accordingly", mounterPath, mounterRootfsPath)
|
||||
}
|
||||
|
||||
// Run the tests
|
||||
|
|
Loading…
Reference in New Issue