catch and handle errors in src/cmd/moby

Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
This commit is contained in:
Riyaz Faizullabhoy 2017-04-10 13:16:17 -07:00
parent d11a78982a
commit 37adb881f7
7 changed files with 51 additions and 16 deletions

View File

@ -27,7 +27,9 @@ func build(args []string) {
buildName := buildCmd.String("name", "", "Name to use for output files")
buildPull := buildCmd.Bool("pull", false, "Always pull images")
buildCmd.Parse(args)
if err := buildCmd.Parse(args); err != nil {
log.Fatal("Unable to parse args")
}
remArgs := buildCmd.Args()
if len(remArgs) == 0 {

View File

@ -401,10 +401,15 @@ func (g GCPClient) ConnectToInstanceSerialPort(instance, zone string) error {
}
}
session.RequestPty("xterm", termHeight, termWidth, ssh.TerminalModes{
if err = session.RequestPty("xterm", termHeight, termWidth, ssh.TerminalModes{
ssh.ECHO: 1,
})
session.Shell()
}); err != nil {
return err
}
if err = session.Shell(); err != nil {
return err
}
err = session.Wait()
//exit <- true

View File

@ -79,7 +79,9 @@ func tarPrefix(path string, tw *tar.Writer) error {
Mode: 0755,
Typeflag: tar.TypeDir,
}
tw.WriteHeader(hdr)
if err := tw.WriteHeader(hdr); err != nil {
return err
}
mkdir = mkdir + "/"
}
return nil
@ -118,21 +120,37 @@ func imageTar(image, prefix string, tw *tar.Writer) error {
}
if exclude[hdr.Name] {
log.Debugf("image tar: %s %s exclude %s", image, prefix, hdr.Name)
io.Copy(ioutil.Discard, tr)
_, err = io.Copy(ioutil.Discard, tr)
if err != nil {
return err
}
} else if replace[hdr.Name] != "" {
contents := replace[hdr.Name]
hdr.Size = int64(len(contents))
hdr.Name = prefix + hdr.Name
log.Debugf("image tar: %s %s add %s", image, prefix, hdr.Name)
tw.WriteHeader(hdr)
if err := tw.WriteHeader(hdr); err != nil {
return err
}
buf := bytes.NewBufferString(contents)
io.Copy(tw, buf)
io.Copy(ioutil.Discard, tr)
_, err = io.Copy(tw, buf)
if err != nil {
return err
}
_, err = io.Copy(ioutil.Discard, tr)
if err != nil {
return err
}
} else {
log.Debugf("image tar: %s %s add %s", image, prefix, hdr.Name)
hdr.Name = prefix + hdr.Name
tw.WriteHeader(hdr)
io.Copy(tw, tr)
if err := tw.WriteHeader(hdr); err != nil {
return err
}
_, err = io.Copy(tw, tr)
if err != nil {
return err
}
}
}
err = tw.Close()

View File

@ -41,7 +41,9 @@ func runGcp(args []string) {
publicFlag := gcpCmd.Bool("public", false, "Select if file on GS should be public. *Optional* when 'prefix' is a filename")
familyFlag := gcpCmd.String("family", "", "GCP Image Family. A group of images where the family name points to the most recent image. *Optional* when 'prefix' is a filename")
nameFlag := gcpCmd.String("img-name", "", "Overrides the Name used to identify the file in Google Storage, Image and Instance. Defaults to [name]")
gcpCmd.Parse(args)
if err := gcpCmd.Parse(args); err != nil {
log.Fatal("Unable to parse args")
}
remArgs := gcpCmd.Args()
if len(remArgs) == 0 {

View File

@ -30,7 +30,9 @@ func runHyperKit(args []string) {
data := hyperkitCmd.String("data", "", "Metadata to pass to VM (either a path to a file or a string)")
ipStr := hyperkitCmd.String("ip", "", "IP address for the VM")
hyperkitCmd.Parse(args)
if err := hyperkitCmd.Parse(args); err != nil {
log.Fatal("Unable to parse args")
}
remArgs := hyperkitCmd.Args()
if len(remArgs) == 0 {
fmt.Println("Please specify the prefix to the image to boot\n")
@ -59,7 +61,9 @@ func runHyperKit(args []string) {
if err != nil {
log.Fatalf("Cannot write user data ISO: %v", err)
}
outfh.Close()
if err = outfh.Close(); err != nil {
log.Fatalf("Cannot close output ISO: %v", err)
}
}
uuidStr := ""

View File

@ -36,7 +36,9 @@ func runQemu(args []string) {
qemuCPUs := qemuFlags.String("cpus", "1", "Number of CPUs")
qemuMem := qemuFlags.String("mem", "1024", "Amount of memory in MB")
qemuFlags.Parse(args)
if err := qemuFlags.Parse(args); err != nil {
log.Fatal("Unable to parse args")
}
remArgs := qemuFlags.Args()
if len(remArgs) == 0 {

View File

@ -70,7 +70,9 @@ func runVMware(args []string) {
runMem := vmwareArgs.Int("mem", 1024, "Amount of memory in MB")
runDisk := vmwareArgs.String("disk", "", "Path to disk image to use")
vmwareArgs.Parse(args)
if err := vmwareArgs.Parse(args); err != nil {
log.Fatal("Unable to parse args")
}
remArgs := vmwareArgs.Args()
if len(remArgs) == 0 {