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.
func (r *runtime) PullImage(img string) error { // TODO(yifan): Now we only support docker images, this should be changed
// Use credentials for docker images. This string operation can be cleaned up
// once the format of image is landed, see: // once the format of image is landed, see:
//
// https://github.com/GoogleCloudPlatform/kubernetes/issues/7203 // https://github.com/GoogleCloudPlatform/kubernetes/issues/7203
// //
if strings.HasPrefix(img, dockerPrefix) { func (r *runtime) PullImage(img string) error {
// TODO(yifan): The credential operation is a copy from dockertools package,
// Need to resolve the code duplication.
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