kubelet/rkt: Add docker prefix to image string.

This change makes rkt to run only docker image for now,
which enables us to test with all existing pods.
This commit is contained in:
Yifan Gu 2015-05-05 14:25:55 -07:00
parent d92a4061aa
commit ec68f1a85a

View File

@ -412,7 +412,7 @@ func (r *runtime) makePodManifest(pod *api.Pod, volumeMap map[string]volume.Volu
// TODO(yifan): Replace with 'rkt images'. // TODO(yifan): Replace with 'rkt images'.
func (r *runtime) getImageID(imageName string) (string, error) { func (r *runtime) getImageID(imageName string) (string, error) {
output, err := r.runCommand("fetch", imageName) output, err := r.runCommand("fetch", dockerPrefix+imageName)
if err != nil { if err != nil {
return "", err return "", err
} }
@ -738,12 +738,14 @@ func (r *runtime) writeDockerAuthConfig(image string, creds docker.AuthConfigura
} }
// PullImage invokes 'rkt fetch' to download an aci. // PullImage invokes 'rkt fetch' to download an aci.
// TODO(yifan): Now we only support docker images, this should be changed
// once the format of image is landed, see:
//
// https://github.com/GoogleCloudPlatform/kubernetes/issues/7203
//
func (r *runtime) PullImage(img string) error { func (r *runtime) PullImage(img string) error {
// Use credentials for docker images. This string operation can be cleaned up // TODO(yifan): The credential operation is a copy from dockertools package,
// once the format of image is landed, see: // Need to resolve the code duplication.
// https://github.com/GoogleCloudPlatform/kubernetes/issues/7203
//
if strings.HasPrefix(img, dockerPrefix) {
repoToPull, tag := parsers.ParseRepositoryTag(img) repoToPull, tag := parsers.ParseRepositoryTag(img)
// If no tag was specified, use the default "latest". // If no tag was specified, use the default "latest".
if len(tag) == 0 { if len(tag) == 0 {
@ -760,9 +762,8 @@ func (r *runtime) PullImage(img string) error {
if err := r.writeDockerAuthConfig(img, creds); err != nil { if err := r.writeDockerAuthConfig(img, creds); err != nil {
return err return err
} }
}
output, err := r.runCommand("fetch", img) output, err := r.runCommand("fetch", dockerPrefix+img)
if err != nil { if err != nil {
return fmt.Errorf("rkt: Failed to fetch image: %v:", output) return fmt.Errorf("rkt: Failed to fetch image: %v:", output)
} }
@ -773,7 +774,7 @@ func (r *runtime) PullImage(img string) error {
// TODO(yifan): 'rkt image' is now landed on master, use that once we bump up // TODO(yifan): 'rkt image' is now landed on master, use that once we bump up
// the rkt version. // the rkt version.
func (r *runtime) IsImagePresent(img string) (bool, error) { func (r *runtime) IsImagePresent(img string) (bool, error) {
if _, err := r.runCommand("prepare", "--local=true", img); err != nil { if _, err := r.runCommand("prepare", "--local=true", dockerPrefix+img); err != nil {
return false, nil return false, nil
} }
return true, nil return true, nil