Skip to content

Commit

Permalink
kubelet/rkt: Add docker prefix to image string.
Browse files Browse the repository at this point in the history
This change makes rkt to run only docker image for now,
which enables us to test with all existing pods.
  • Loading branch information
Yifan Gu committed May 5, 2015
1 parent 102a2c4 commit 2dd82ba
Showing 1 changed file with 23 additions and 22 deletions.
45 changes: 23 additions & 22 deletions pkg/kubelet/rkt/rkt_linux.go
Expand Up @@ -422,7 +422,7 @@ func (r *runtime) makePodManifest(pod *api.Pod, volumeMap map[string]volume.Volu

// TODO(yifan): Replace with 'rkt images'.
func (r *runtime) getImageID(imageName string) (string, error) {
output, err := r.runCommand("fetch", imageName)
output, err := r.runCommand("fetch", dockerPrefix+imageName)
if err != nil {
return "", err
}
Expand Down Expand Up @@ -748,31 +748,32 @@ func (r *runtime) writeDockerAuthConfig(image string, creds docker.AuthConfigura
}

// 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 {
// Use credentials for docker images. This string operation can be cleaned up
// once the format of image is landed, see:
// https://github.com/GoogleCloudPlatform/kubernetes/issues/7203
//
if strings.HasPrefix(img, dockerPrefix) {
repoToPull, tag := parsers.ParseRepositoryTag(img)
// If no tag was specified, use the default "latest".
if len(tag) == 0 {
tag = "latest"
}
// TODO(yifan): The credential operation is a copy from dockertools package,
// Need to resolve the code duplication.
repoToPull, tag := parsers.ParseRepositoryTag(img)
// If no tag was specified, use the default "latest".
if len(tag) == 0 {
tag = "latest"
}

creds, ok := r.dockerKeyring.Lookup(repoToPull)
if !ok {
glog.V(1).Infof("Pulling image %s without credentials", img)
}
creds, ok := r.dockerKeyring.Lookup(repoToPull)
if !ok {
glog.V(1).Infof("Pulling image %s without credentials", img)
}

// Let's update a json.
// TODO(yifan): Find a way to feed this to rkt.
if err := r.writeDockerAuthConfig(img, creds); err != nil {
return err
}
// Let's update a json.
// TODO(yifan): Find a way to feed this to rkt.
if err := r.writeDockerAuthConfig(img, creds); err != nil {
return err
}

output, err := r.runCommand("fetch", img)
output, err := r.runCommand("fetch", dockerPrefix+img)
if err != nil {
return fmt.Errorf("rkt: Failed to fetch image: %v:", output)
}
Expand All @@ -783,7 +784,7 @@ func (r *runtime) PullImage(img string) error {
// TODO(yifan): 'rkt image' is now landed on master, use that once we bump up
// the rkt version.
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 true, nil
Expand Down

0 comments on commit 2dd82ba

Please sign in to comment.