CLI helper: print backtraces with errors
Print backtrace information when displaying an error returned by our API, to make troubleshooting tests a bit easier. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
This commit is contained in:
parent
f61b77479f
commit
06025caa49
|
|
@ -17,7 +17,7 @@ var (
|
||||||
func container(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func container(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
images, err := m.Images()
|
images, err := m.Images()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
matches := []*storage.Container{}
|
matches := []*storage.Container{}
|
||||||
|
|
@ -45,7 +45,7 @@ func container(flags *mflag.FlagSet, action string, m storage.Store, args []stri
|
||||||
}
|
}
|
||||||
size, err := m.ContainerSize(container.ID)
|
size, err := m.ContainerSize(container.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Size unknown: %v\n", err)
|
fmt.Printf("Size unknown: %+v\n", err)
|
||||||
} else {
|
} else {
|
||||||
fmt.Printf("Size: %d\n", size)
|
fmt.Printf("Size: %d\n", size)
|
||||||
}
|
}
|
||||||
|
|
@ -64,7 +64,7 @@ func container(flags *mflag.FlagSet, action string, m storage.Store, args []stri
|
||||||
func listContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func listContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
container, err := m.Container(args[0])
|
container, err := m.Container(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
d, err := m.ListContainerBigData(container.ID)
|
d, err := m.ListContainerBigData(container.ID)
|
||||||
|
|
@ -81,7 +81,7 @@ func listContainerBigData(flags *mflag.FlagSet, action string, m storage.Store,
|
||||||
func getContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func getContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
container, err := m.Container(args[0])
|
container, err := m.Container(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
output := os.Stdout
|
output := os.Stdout
|
||||||
|
|
@ -95,7 +95,7 @@ func getContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, a
|
||||||
}
|
}
|
||||||
b, err := m.ContainerBigData(container.ID, args[1])
|
b, err := m.ContainerBigData(container.ID, args[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
output.Write(b)
|
output.Write(b)
|
||||||
|
|
@ -106,12 +106,12 @@ func getContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, a
|
||||||
func getContainerBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func getContainerBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
container, err := m.Container(args[0])
|
container, err := m.Container(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
size, err := m.ContainerBigDataSize(container.ID, args[1])
|
size, err := m.ContainerBigDataSize(container.ID, args[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
fmt.Fprintf(os.Stdout, "%d\n", size)
|
fmt.Fprintf(os.Stdout, "%d\n", size)
|
||||||
|
|
@ -121,12 +121,12 @@ func getContainerBigDataSize(flags *mflag.FlagSet, action string, m storage.Stor
|
||||||
func getContainerBigDataDigest(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func getContainerBigDataDigest(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
container, err := m.Container(args[0])
|
container, err := m.Container(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
d, err := m.ContainerBigDataDigest(container.ID, args[1])
|
d, err := m.ContainerBigDataDigest(container.ID, args[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if d.Validate() != nil {
|
if d.Validate() != nil {
|
||||||
|
|
@ -140,7 +140,7 @@ func getContainerBigDataDigest(flags *mflag.FlagSet, action string, m storage.St
|
||||||
func setContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func setContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
container, err := m.Container(args[0])
|
container, err := m.Container(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
input := os.Stdin
|
input := os.Stdin
|
||||||
|
|
@ -159,7 +159,7 @@ func setContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, a
|
||||||
}
|
}
|
||||||
err = m.SetContainerBigData(container.ID, args[1], b)
|
err = m.SetContainerBigData(container.ID, args[1], b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
|
|
@ -168,7 +168,7 @@ func setContainerBigData(flags *mflag.FlagSet, action string, m storage.Store, a
|
||||||
func getContainerDir(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func getContainerDir(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
path, err := m.ContainerDirectory(args[0])
|
path, err := m.ContainerDirectory(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
fmt.Printf("%s\n", path)
|
fmt.Printf("%s\n", path)
|
||||||
|
|
@ -178,7 +178,7 @@ func getContainerDir(flags *mflag.FlagSet, action string, m storage.Store, args
|
||||||
func getContainerRunDir(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func getContainerRunDir(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
path, err := m.ContainerRunDirectory(args[0])
|
path, err := m.ContainerRunDirectory(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
fmt.Printf("%s\n", path)
|
fmt.Printf("%s\n", path)
|
||||||
|
|
@ -195,7 +195,7 @@ func containerParentOwners(flags *mflag.FlagSet, action string, m storage.Store,
|
||||||
for _, container := range matched {
|
for _, container := range matched {
|
||||||
uids, gids, err := m.ContainerParentOwners(container.ID)
|
uids, gids, err := m.ContainerParentOwners(container.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "ContainerParentOwner: %v\n", err)
|
fmt.Fprintf(os.Stderr, "ContainerParentOwner: %+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import (
|
||||||
func containers(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func containers(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
containers, err := m.Containers()
|
containers, err := m.Containers()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
|
||||||
|
|
@ -49,13 +49,13 @@ func copyContent(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
||||||
}
|
}
|
||||||
targetLayer, err := m.Layer(targetParts[0])
|
targetLayer, err := m.Layer(targetParts[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "error finding layer %q: %v\n", targetParts[0], err)
|
fmt.Fprintf(os.Stderr, "error finding layer %q: %+v\n", targetParts[0], err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
untarIDMappings = idtools.NewIDMappingsFromMaps(targetLayer.UIDMap, targetLayer.GIDMap)
|
untarIDMappings = idtools.NewIDMappingsFromMaps(targetLayer.UIDMap, targetLayer.GIDMap)
|
||||||
targetMount, err := m.Mount(targetLayer.ID, targetLayer.MountLabel)
|
targetMount, err := m.Mount(targetLayer.ID, targetLayer.MountLabel)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "error mounting layer %q: %v\n", targetLayer.ID, err)
|
fmt.Fprintf(os.Stderr, "error mounting layer %q: %+v\n", targetLayer.ID, err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
target = filepath.Join(targetMount, targetParts[1])
|
target = filepath.Join(targetMount, targetParts[1])
|
||||||
|
|
@ -73,13 +73,13 @@ func copyContent(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
||||||
}
|
}
|
||||||
sourceLayer, err := m.Layer(sourceParts[0])
|
sourceLayer, err := m.Layer(sourceParts[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "error finding layer %q: %v\n", sourceParts[0], err)
|
fmt.Fprintf(os.Stderr, "error finding layer %q: %+v\n", sourceParts[0], err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
tarIDMappings = idtools.NewIDMappingsFromMaps(sourceLayer.UIDMap, sourceLayer.GIDMap)
|
tarIDMappings = idtools.NewIDMappingsFromMaps(sourceLayer.UIDMap, sourceLayer.GIDMap)
|
||||||
sourceMount, err := m.Mount(sourceLayer.ID, sourceLayer.MountLabel)
|
sourceMount, err := m.Mount(sourceLayer.ID, sourceLayer.MountLabel)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "error mounting layer %q: %v\n", sourceLayer.ID, err)
|
fmt.Fprintf(os.Stderr, "error mounting layer %q: %+v\n", sourceLayer.ID, err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
source = filepath.Join(sourceMount, sourceParts[1])
|
source = filepath.Join(sourceMount, sourceParts[1])
|
||||||
|
|
@ -87,7 +87,7 @@ func copyContent(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
||||||
}
|
}
|
||||||
archiver := chrootarchive.NewArchiverWithChown(tarIDMappings, chownOpts, untarIDMappings)
|
archiver := chrootarchive.NewArchiverWithChown(tarIDMappings, chownOpts, untarIDMappings)
|
||||||
if err := archiver.CopyWithTar(source, target); err != nil {
|
if err := archiver.CopyWithTar(source, target); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "error copying %q to %q: %v\n", source, target, err)
|
fmt.Fprintf(os.Stderr, "error copying %q to %q: %+v\n", source, target, err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ func createLayer(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
||||||
options := &storage.LayerOptions{IDMappingOptions: *mappings}
|
options := &storage.LayerOptions{IDMappingOptions: *mappings}
|
||||||
layer, err := m.CreateLayer(paramID, parent, paramNames, paramMountLabel, !paramCreateRO, options)
|
layer, err := m.CreateLayer(paramID, parent, paramNames, paramMountLabel, !paramCreateRO, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
@ -120,7 +120,7 @@ func importLayer(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
||||||
options := &storage.LayerOptions{IDMappingOptions: *mappings}
|
options := &storage.LayerOptions{IDMappingOptions: *mappings}
|
||||||
layer, _, err := m.PutLayer(paramID, parent, paramNames, paramMountLabel, !paramCreateRO, options, diffStream)
|
layer, _, err := m.PutLayer(paramID, parent, paramNames, paramMountLabel, !paramCreateRO, options, diffStream)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
@ -157,7 +157,7 @@ func createImage(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
||||||
}
|
}
|
||||||
image, err := m.CreateImage(paramID, paramNames, layer, paramMetadata, imageOptions)
|
image, err := m.CreateImage(paramID, paramNames, layer, paramMetadata, imageOptions)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
@ -193,7 +193,7 @@ func createContainer(flags *mflag.FlagSet, action string, m storage.Store, args
|
||||||
options := &storage.ContainerOptions{IDMappingOptions: *mappings}
|
options := &storage.ContainerOptions{IDMappingOptions: *mappings}
|
||||||
container, err := m.CreateContainer(paramID, paramNames, args[0], paramLayer, paramMetadata, options)
|
container, err := m.CreateContainer(paramID, paramNames, args[0], paramLayer, paramMetadata, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ func changes(flags *mflag.FlagSet, action string, m storage.Store, args []string
|
||||||
}
|
}
|
||||||
changes, err := m.Changes(from, to)
|
changes, err := m.Changes(from, to)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
@ -66,7 +66,7 @@ func diff(flags *mflag.FlagSet, action string, m storage.Store, args []string) i
|
||||||
if diffFile != "" {
|
if diffFile != "" {
|
||||||
f, err := os.Create(diffFile)
|
f, err := os.Create(diffFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
diffStream = f
|
diffStream = f
|
||||||
|
|
@ -90,13 +90,13 @@ func diff(flags *mflag.FlagSet, action string, m storage.Store, args []string) i
|
||||||
|
|
||||||
reader, err := m.Diff(from, to, &options)
|
reader, err := m.Diff(from, to, &options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
_, err = io.Copy(diffStream, reader)
|
_, err = io.Copy(diffStream, reader)
|
||||||
reader.Close()
|
reader.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
|
|
@ -110,7 +110,7 @@ func applyDiff(flags *mflag.FlagSet, action string, m storage.Store, args []stri
|
||||||
if applyDiffFile != "" {
|
if applyDiffFile != "" {
|
||||||
f, err := os.Open(applyDiffFile)
|
f, err := os.Open(applyDiffFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
diffStream = f
|
diffStream = f
|
||||||
|
|
@ -118,7 +118,7 @@ func applyDiff(flags *mflag.FlagSet, action string, m storage.Store, args []stri
|
||||||
}
|
}
|
||||||
_, err := m.ApplyDiff(args[0], diffStream)
|
_, err := m.ApplyDiff(args[0], diffStream)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
|
|
@ -135,7 +135,7 @@ func diffSize(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
||||||
}
|
}
|
||||||
n, err := m.DiffSize(from, to)
|
n, err := m.DiffSize(from, to)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
fmt.Printf("%d\n", n)
|
fmt.Printf("%d\n", n)
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ func image(flags *mflag.FlagSet, action string, m storage.Store, args []string)
|
||||||
}
|
}
|
||||||
size, err := m.ImageSize(image.ID)
|
size, err := m.ImageSize(image.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Size unknown: %v\n", err)
|
fmt.Printf("Size unknown: %+v\n", err)
|
||||||
} else {
|
} else {
|
||||||
fmt.Printf("Size: %d\n", size)
|
fmt.Printf("Size: %d\n", size)
|
||||||
}
|
}
|
||||||
|
|
@ -56,7 +56,7 @@ func image(flags *mflag.FlagSet, action string, m storage.Store, args []string)
|
||||||
func listImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func listImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
image, err := m.Image(args[0])
|
image, err := m.Image(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
d, err := m.ListImageBigData(image.ID)
|
d, err := m.ListImageBigData(image.ID)
|
||||||
|
|
@ -73,7 +73,7 @@ func listImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args
|
||||||
func getImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func getImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
image, err := m.Image(args[0])
|
image, err := m.Image(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
output := os.Stdout
|
output := os.Stdout
|
||||||
|
|
@ -87,7 +87,7 @@ func getImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args
|
||||||
}
|
}
|
||||||
b, err := m.ImageBigData(image.ID, args[1])
|
b, err := m.ImageBigData(image.ID, args[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
output.Write(b)
|
output.Write(b)
|
||||||
|
|
@ -98,12 +98,12 @@ func getImageBigData(flags *mflag.FlagSet, action string, m storage.Store, args
|
||||||
func getImageBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func getImageBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
image, err := m.Image(args[0])
|
image, err := m.Image(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
size, err := m.ImageBigDataSize(image.ID, args[1])
|
size, err := m.ImageBigDataSize(image.ID, args[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
fmt.Fprintf(os.Stdout, "%d\n", size)
|
fmt.Fprintf(os.Stdout, "%d\n", size)
|
||||||
|
|
@ -113,12 +113,12 @@ func getImageBigDataSize(flags *mflag.FlagSet, action string, m storage.Store, a
|
||||||
func getImageBigDataDigest(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func getImageBigDataDigest(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
image, err := m.Image(args[0])
|
image, err := m.Image(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
d, err := m.ImageBigDataDigest(image.ID, args[1])
|
d, err := m.ImageBigDataDigest(image.ID, args[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if d.Validate() != nil {
|
if d.Validate() != nil {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ var (
|
||||||
func images(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func images(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
images, err := m.Images()
|
images, err := m.Images()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
@ -52,7 +52,7 @@ func imagesByDigest(flags *mflag.FlagSet, action string, m storage.Store, args [
|
||||||
}
|
}
|
||||||
matched, err := m.ImagesByDigest(d)
|
matched, err := m.ImagesByDigest(d)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
for _, match := range matched {
|
for _, match := range matched {
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ func layerParentOwners(flags *mflag.FlagSet, action string, m storage.Store, arg
|
||||||
for _, layer := range matched {
|
for _, layer := range matched {
|
||||||
uids, gids, err := m.LayerParentOwners(layer.ID)
|
uids, gids, err := m.LayerParentOwners(layer.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "LayerParentOwner: %v\n", err)
|
fmt.Fprintf(os.Stderr, "LayerParentOwner: %+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ var listLayersTree = false
|
||||||
func layers(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func layers(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
layers, err := m.Layers()
|
layers, err := m.Layers()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,7 @@ func main() {
|
||||||
}
|
}
|
||||||
store, err := storage.GetStore(options)
|
store, err := storage.GetStore(options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("error initializing: %v\n", err)
|
fmt.Printf("error initializing: %+v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
os.Exit(command.action(flags, cmd, store, args))
|
os.Exit(command.action(flags, cmd, store, args))
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ func setMetadata(flags *mflag.FlagSet, action string, m storage.Store, args []st
|
||||||
paramMetadata = string(b)
|
paramMetadata = string(b)
|
||||||
}
|
}
|
||||||
if err := m.SetMetadata(args[0], paramMetadata); err != nil {
|
if err := m.SetMetadata(args[0], paramMetadata); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,12 @@ func getNames(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
||||||
}
|
}
|
||||||
id, err := m.Lookup(args[0])
|
id, err := m.Lookup(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
names, err := m.Names(id)
|
names, err := m.Names(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
@ -40,12 +40,12 @@ func addNames(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
||||||
}
|
}
|
||||||
id, err := m.Lookup(args[0])
|
id, err := m.Lookup(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
oldnames, err := m.Names(id)
|
oldnames, err := m.Names(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
newNames := []string{}
|
newNames := []string{}
|
||||||
|
|
@ -56,12 +56,12 @@ func addNames(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
||||||
newNames = append(newNames, paramNames...)
|
newNames = append(newNames, paramNames...)
|
||||||
}
|
}
|
||||||
if err := m.SetNames(id, newNames); err != nil {
|
if err := m.SetNames(id, newNames); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
names, err := m.Names(id)
|
names, err := m.Names(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
@ -76,16 +76,16 @@ func setNames(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
||||||
}
|
}
|
||||||
id, err := m.Lookup(args[0])
|
id, err := m.Lookup(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if err := m.SetNames(id, paramNames); err != nil {
|
if err := m.SetNames(id, paramNames); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
names, err := m.Names(id)
|
names, err := m.Names(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ func shutdown(flags *mflag.FlagSet, action string, m storage.Store, args []strin
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%s: %v\n", action, err)
|
fmt.Fprintf(os.Stderr, "%s: %+v\n", action, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import (
|
||||||
func status(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func status(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
status, err := m.Status()
|
status, err := m.Status()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "status: %v\n", err)
|
fmt.Fprintf(os.Stderr, "status: %+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
basics := [][2]string{
|
basics := [][2]string{
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import (
|
||||||
func version(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
func version(flags *mflag.FlagSet, action string, m storage.Store, args []string) int {
|
||||||
version, err := m.Version()
|
version, err := m.Version()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "version: %v\n", err)
|
fmt.Fprintf(os.Stderr, "version: %+v\n", err)
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if jsonOutput {
|
if jsonOutput {
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ func wipe(flags *mflag.FlagSet, action string, m storage.Store, args []string) i
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%s: %v\n", action, err)
|
fmt.Fprintf(os.Stderr, "%s: %+v\n", action, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue