Skip to content

Commit 29f9a16

Browse files
committed
implement imagePull
1 parent cbe538e commit 29f9a16

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

engine/virt/image.go

+16-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"context"
66
"encoding/json"
77
"io"
8+
"strings"
89

910
virttypes "github.com/projecteru2/libyavirt/types"
1011

@@ -50,7 +51,21 @@ func (v *Virt) ImagesPrune(ctx context.Context) (err error) {
5051

5152
// ImagePull pulls an image to local virt-node.
5253
func (v *Virt) ImagePull(ctx context.Context, ref string, all bool) (rc io.ReadCloser, err error) {
53-
return
54+
// ref is a simple image name without username for now
55+
_, imgName, err := splitUserImage(ref)
56+
if err != nil {
57+
return nil, err
58+
}
59+
60+
msg, err := v.client.PullImage(ctx, imgName, all)
61+
if err != nil {
62+
return nil, err
63+
}
64+
65+
rc = io.NopCloser(strings.NewReader(msg))
66+
defer rc.Close()
67+
68+
return rc, err
5469
}
5570

5671
// ImagePush pushes to central image registry.

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ require (
3232
github.com/opencontainers/runc v1.0.0-rc95 // indirect
3333
github.com/patrickmn/go-cache v2.1.0+incompatible
3434
github.com/pkg/errors v0.9.1
35-
github.com/projecteru2/libyavirt v0.0.0-20211213024339-7490368380c0
35+
github.com/projecteru2/libyavirt v0.0.0-20211217082140-493b61aa9b0d
3636
github.com/prometheus/client_golang v1.11.0
3737
github.com/sanity-io/litter v1.5.1
3838
github.com/sirupsen/logrus v1.7.0

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -430,8 +430,8 @@ github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77
430430
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
431431
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
432432
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
433-
github.com/projecteru2/libyavirt v0.0.0-20211213024339-7490368380c0 h1:Fzx/e/V/GoLdiiqBEhH/srG9003oOBBOgqWsRdWkv6Y=
434-
github.com/projecteru2/libyavirt v0.0.0-20211213024339-7490368380c0/go.mod h1:FOc+hWBMLsMrmx5p3/moizKeSomedZPNwB6LhS+kEnE=
433+
github.com/projecteru2/libyavirt v0.0.0-20211217082140-493b61aa9b0d h1:BMFqsvIB3nmK5l53nz8r2ndK8//T0njciu5nr/kj9A4=
434+
github.com/projecteru2/libyavirt v0.0.0-20211217082140-493b61aa9b0d/go.mod h1:FOc+hWBMLsMrmx5p3/moizKeSomedZPNwB6LhS+kEnE=
435435
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
436436
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
437437
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=

0 commit comments

Comments
 (0)