Update varlink doc and code

* Improved error message
* Added documentation
* Updated messages to include missing data

Signed-off-by: Jhon Honce <jhonce@redhat.com>
This commit is contained in:
Jhon Honce 2019-08-26 16:26:06 -07:00
parent cec354aac9
commit 02cda4066d
4 changed files with 17 additions and 6 deletions

2
API.md
View File

@ -1361,6 +1361,8 @@ pids [int](https://godoc.org/builtin#int)
### <a name="Create"></a>type Create ### <a name="Create"></a>type Create
Create is an input structure for creating containers. Create is an input structure for creating containers.
args[0] is the image name or id
args[1-] are the new commands if changed
args [[]string](#[]string) args [[]string](#[]string)

View File

@ -81,7 +81,7 @@ func CreateContainer(ctx context.Context, c *GenericCLIResults, runtime *libpod.
if len(c.InputArgs) != 0 { if len(c.InputArgs) != 0 {
name = c.InputArgs[0] name = c.InputArgs[0]
} else { } else {
return nil, nil, errors.Errorf("error, no input arguments were provided") return nil, nil, errors.Errorf("error, image name not provided")
} }
pullType, err := util.ValidatePullType(c.String("pull")) pullType, err := util.ValidatePullType(c.String("pull"))

View File

@ -274,6 +274,8 @@ type Sockets(
) )
# Create is an input structure for creating containers. # Create is an input structure for creating containers.
# args[0] is the image name or id
# args[1-] are the new commands if changed
type Create ( type Create (
args: []string, args: []string,
addHost: ?[]string, addHost: ?[]string,

View File

@ -338,7 +338,7 @@ func (i *LibpodAPI) PushImage(call iopodman.VarlinkCall, name, tag string, compr
dockerRegistryOptions := image.DockerRegistryOptions{} dockerRegistryOptions := image.DockerRegistryOptions{}
if format != "" { if format != "" {
switch format { switch format {
case "oci": //nolint case "oci": // nolint
manifestType = v1.MediaTypeImageManifest manifestType = v1.MediaTypeImageManifest
case "v2s1": case "v2s1":
manifestType = manifest.DockerV2Schema1SignedMediaType manifestType = manifest.DockerV2Schema1SignedMediaType
@ -360,7 +360,12 @@ func (i *LibpodAPI) PushImage(call iopodman.VarlinkCall, name, tag string, compr
output := bytes.NewBuffer([]byte{}) output := bytes.NewBuffer([]byte{})
c := make(chan error) c := make(chan error)
go func() { go func() {
err := newImage.PushImageToHeuristicDestination(getContext(), destname, manifestType, "", "", "", output, compress, so, &dockerRegistryOptions, nil) writer := bytes.NewBuffer([]byte{})
err := newImage.PushImageToHeuristicDestination(getContext(), destname, manifestType, "", "", "", writer, compress, so, &dockerRegistryOptions, nil)
if err != nil {
c <- err
}
_, err = io.CopyBuffer(output, writer, nil)
c <- err c <- err
close(c) close(c)
}() }()
@ -388,6 +393,7 @@ func (i *LibpodAPI) PushImage(call iopodman.VarlinkCall, name, tag string, compr
} }
br := iopodman.MoreResponse{ br := iopodman.MoreResponse{
Logs: log, Logs: log,
Id: newImage.ID(),
} }
call.ReplyPushImage(br) call.ReplyPushImage(br)
log = []string{} log = []string{}
@ -403,6 +409,7 @@ func (i *LibpodAPI) PushImage(call iopodman.VarlinkCall, name, tag string, compr
br := iopodman.MoreResponse{ br := iopodman.MoreResponse{
Logs: log, Logs: log,
Id: newImage.ID(),
} }
return call.ReplyPushImage(br) return call.ReplyPushImage(br)
} }
@ -530,7 +537,7 @@ func (i *LibpodAPI) Commit(call iopodman.VarlinkCall, name, imageName string, ch
} }
sc := image.GetSystemContext(rtc.SignaturePolicyPath, "", false) sc := image.GetSystemContext(rtc.SignaturePolicyPath, "", false)
switch manifestType { switch manifestType {
case "oci", "": //nolint case "oci", "": // nolint
mimeType = buildah.OCIv1ImageManifest mimeType = buildah.OCIv1ImageManifest
case "docker": case "docker":
mimeType = manifest.DockerV2Schema2MediaType mimeType = manifest.DockerV2Schema2MediaType
@ -821,7 +828,7 @@ func (i *LibpodAPI) ImageSave(call iopodman.VarlinkCall, options iopodman.ImageS
// Image has been saved to `output` // Image has been saved to `output`
if outputToDir { if outputToDir {
// If the output is a directory, we need to tar up the directory to send it back // If the output is a directory, we need to tar up the directory to send it back
//Create a tempfile for the directory tarball // Create a tempfile for the directory tarball
outputFile, err := ioutil.TempFile("", "varlink_save_dir") outputFile, err := ioutil.TempFile("", "varlink_save_dir")
if err != nil { if err != nil {
return err return err