rkt: Map kubelet's `--stage1-image` flag to rkt's `--stage1-name` flag.

This enables rkt to use cached stage1 image instead of unpacking the
stage1 image every time for every pod.

After this change, users need to preload the stage1 images in order to
enable rkt to find the stage1 image with the name specified by this flag.
pull/6/head
Yifan Gu 2016-06-16 15:36:24 -07:00
parent 5debaf7b88
commit 4e9298cd99
3 changed files with 4 additions and 6 deletions

View File

@ -122,8 +122,6 @@ coreos:
--cluster-domain=${DNS_DOMAIN} \
--logtostderr=true \
--container-runtime=docker \
--rkt-path=/opt/rkt/rkt \
--rkt-stage1-image=/opt/rkt/stage1-coreos.aci \
--configure-cbr0=${KUBERNETES_CONFIGURE_CBR0} \
--pod-cidr=${MASTER_IP_RANGE} \
--register-schedulable=false \

View File

@ -1028,7 +1028,7 @@ func (r *Runtime) preparePodArgs(manifest *appcschema.PodManifest, manifestFileN
// 3) empty; whatever rkt's compiled to default to
stage1ImageCmd := ""
if r.config.Stage1Image != "" {
stage1ImageCmd = "--stage1-path=" + r.config.Stage1Image
stage1ImageCmd = "--stage1-name=" + r.config.Stage1Image
}
if stage1Name, ok := manifest.Annotations.Get(k8sRktStage1NameAnno); ok {
stage1ImageCmd = "--stage1-name=" + stage1Name

View File

@ -1832,15 +1832,15 @@ func TestPreparePodArgs(t *testing.T) {
},
},
},
"stage1-path",
"stage1-image0",
[]string{"prepare", "--quiet", "--pod-manifest", "file", "--stage1-name=stage1-image"},
},
{
appcschema.PodManifest{
Annotations: appctypes.Annotations{},
},
"stage1-path",
[]string{"prepare", "--quiet", "--pod-manifest", "file", "--stage1-path=stage1-path"},
"stage1-image0",
[]string{"prepare", "--quiet", "--pod-manifest", "file", "--stage1-name=stage1-image0"},
},
{
appcschema.PodManifest{