Commit 5552d700 authored by Harry Zhang's avatar Harry Zhang Committed by harry

Add default when latest not claimed

parent 121c7046
......@@ -60,6 +60,9 @@ pull an image if it already exists. If you would like to always force a pull
you must set a pull image policy of `Always` or specify a `:latest` tag on
your image.
If you did not specify tag of your image, it will be assumed as `:latest`, with
pull image policy of `Always` correspondingly.
## Using a Private Registry
Private registries may require keys to read images from them.
......
......@@ -17,11 +17,10 @@ limitations under the License.
package v1
import (
"strings"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/util"
"k8s.io/kubernetes/pkg/util/intstr"
"k8s.io/kubernetes/pkg/util/parsers"
)
func addDefaultingFuncs() {
......@@ -59,10 +58,10 @@ func addDefaultingFuncs() {
},
func(obj *Container) {
if obj.ImagePullPolicy == "" {
// TODO(dchen1107): Move ParseImageName code to pkg/util
parts := strings.Split(obj.Image, ":")
_, tag := parsers.ParseImageName(obj.Image)
// Check image tag
if parts[len(parts)-1] == "latest" {
if tag == "latest" {
obj.ImagePullPolicy = PullAlways
} else {
obj.ImagePullPolicy = PullIfNotPresent
......
......@@ -111,7 +111,7 @@ func TestReadPodsFromFile(t *testing.T) {
Name: "image",
Image: "test/image",
TerminationMessagePath: "/dev/termination-log",
ImagePullPolicy: "IfNotPresent",
ImagePullPolicy: "Always",
SecurityContext: securitycontext.ValidSecurityContextWithContainerDefaults()}},
SecurityContext: &api.PodSecurityContext{},
},
......
......@@ -199,7 +199,7 @@ func TestExtractPodsFromHTTP(t *testing.T) {
},
Spec: api.PodSpec{
NodeName: hostname,
Containers: []api.Container{{Name: "2", Image: "bar", ImagePullPolicy: ""}},
Containers: []api.Container{{Name: "2", Image: "bar:bartag", ImagePullPolicy: ""}},
SecurityContext: &api.PodSecurityContext{},
},
},
......@@ -247,7 +247,7 @@ func TestExtractPodsFromHTTP(t *testing.T) {
Containers: []api.Container{{
Name: "2",
Image: "bar",
Image: "bar:bartag",
TerminationMessagePath: "/dev/termination-log",
ImagePullPolicy: "IfNotPresent",
}},
......
......@@ -132,12 +132,8 @@ func filterHTTPError(err error, image string) error {
}
func (p dockerPuller) Pull(image string, secrets []api.Secret) error {
repoToPull, tag := parsers.ParseImageName(image)
// If no tag was specified, use the default "latest".
if len(tag) == 0 {
tag = "latest"
}
repoToPull, tag := parsers.ParseImageName(image)
opts := docker.PullImageOptions{
Repository: repoToPull,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment