Add default when latest not claimed

This commit is contained in:
Harry Zhang 2015-11-14 05:21:00 +00:00 committed by harry
parent 121c7046aa
commit 5552d7007c
5 changed files with 11 additions and 13 deletions

View File

@ -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.

View File

@ -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

View File

@ -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{},
},

View File

@ -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",
}},

View File

@ -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,