Merge pull request #2513 from dmcgowan/set-default-platform-withplatform

Fix for empty platform
This commit is contained in:
Derek McGowan 2018-07-31 17:38:23 -07:00 committed by GitHub
commit efb04a3361
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 9 additions and 20 deletions

View File

@ -449,10 +449,7 @@ func (c *Client) GetImage(ctx context.Context, ref string) (Image, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
return &image{ return NewImage(c, i), nil
client: c,
i: i,
}, nil
} }
// ListImages returns all existing images // ListImages returns all existing images
@ -463,10 +460,7 @@ func (c *Client) ListImages(ctx context.Context, filters ...string) ([]Image, er
} }
images := make([]Image, len(imgs)) images := make([]Image, len(imgs))
for i, img := range imgs { for i, img := range imgs {
images[i] = &image{ images[i] = NewImage(c, img)
client: c,
i: img,
}
} }
return images, nil return images, nil
} }

View File

@ -18,6 +18,7 @@ package containerd
import ( import (
"github.com/containerd/containerd/images" "github.com/containerd/containerd/images"
"github.com/containerd/containerd/platforms"
"github.com/containerd/containerd/remotes" "github.com/containerd/containerd/remotes"
"google.golang.org/grpc" "google.golang.org/grpc"
) )
@ -76,6 +77,9 @@ type RemoteOpt func(*Client, *RemoteContext) error
// WithPlatform allows the caller to specify a platform to retrieve // WithPlatform allows the caller to specify a platform to retrieve
// content for // content for
func WithPlatform(platform string) RemoteOpt { func WithPlatform(platform string) RemoteOpt {
if platform == "" {
platform = platforms.Default()
}
return func(_ *Client, c *RemoteContext) error { return func(_ *Client, c *RemoteContext) error {
for _, p := range c.Platforms { for _, p := range c.Platforms {
if p == platform { if p == platform {

View File

@ -173,10 +173,7 @@ func (c *container) Image(ctx context.Context) (Image, error) {
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "failed to get image %s for container", r.Image) return nil, errors.Wrapf(err, "failed to get image %s for container", r.Image)
} }
return &image{ return NewImage(c.client, i), nil
client: c.client,
i: i,
}, nil
} }
func (c *container) NewTask(ctx context.Context, ioCreate cio.Creator, opts ...NewTaskOpts) (_ Task, err error) { func (c *container) NewTask(ctx context.Context, ioCreate cio.Creator, opts ...NewTaskOpts) (_ Task, err error) {

View File

@ -80,10 +80,7 @@ func (c *Client) Import(ctx context.Context, importer images.Importer, reader io
imgrec = updated imgrec = updated
} }
images = append(images, &image{ images = append(images, NewImage(c, imgrec))
client: c,
i: imgrec,
})
} }
return images, nil return images, nil
} }

View File

@ -458,10 +458,7 @@ func (t *task) Checkpoint(ctx context.Context, opts ...CheckpointTaskOpts) (Imag
if im, err = t.client.ImageService().Create(ctx, im); err != nil { if im, err = t.client.ImageService().Create(ctx, im); err != nil {
return nil, err return nil, err
} }
return &image{ return NewImage(t.client, im), nil
client: t.client,
i: im,
}, nil
} }
// UpdateTaskInfo allows updated specific settings to be changed on a task // UpdateTaskInfo allows updated specific settings to be changed on a task