Merge pull request #1577 from riyazdf/errchecking

catch and handle errors in src/cmd/moby
This commit is contained in:
Justin Cormack 2017-04-10 21:48:41 +01:00 committed by GitHub
commit ceeddedbf5
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") buildName := buildCmd.String("name", "", "Name to use for output files")
buildPull := buildCmd.Bool("pull", false, "Always pull images") 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() remArgs := buildCmd.Args()
if len(remArgs) == 0 { 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, ssh.ECHO: 1,
}) }); err != nil {
session.Shell() return err
}
if err = session.Shell(); err != nil {
return err
}
err = session.Wait() err = session.Wait()
//exit <- true //exit <- true

View File

@ -79,7 +79,9 @@ func tarPrefix(path string, tw *tar.Writer) error {
Mode: 0755, Mode: 0755,
Typeflag: tar.TypeDir, Typeflag: tar.TypeDir,
} }
tw.WriteHeader(hdr) if err := tw.WriteHeader(hdr); err != nil {
return err
}
mkdir = mkdir + "/" mkdir = mkdir + "/"
} }
return nil return nil
@ -118,21 +120,37 @@ func imageTar(image, prefix string, tw *tar.Writer) error {
} }
if exclude[hdr.Name] { if exclude[hdr.Name] {
log.Debugf("image tar: %s %s exclude %s", image, prefix, 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] != "" { } else if replace[hdr.Name] != "" {
contents := replace[hdr.Name] contents := replace[hdr.Name]
hdr.Size = int64(len(contents)) hdr.Size = int64(len(contents))
hdr.Name = prefix + hdr.Name hdr.Name = prefix + hdr.Name
log.Debugf("image tar: %s %s add %s", image, 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) buf := bytes.NewBufferString(contents)
io.Copy(tw, buf) _, err = io.Copy(tw, buf)
io.Copy(ioutil.Discard, tr) if err != nil {
return err
}
_, err = io.Copy(ioutil.Discard, tr)
if err != nil {
return err
}
} else { } else {
log.Debugf("image tar: %s %s add %s", image, prefix, hdr.Name) log.Debugf("image tar: %s %s add %s", image, prefix, hdr.Name)
hdr.Name = prefix + hdr.Name hdr.Name = prefix + hdr.Name
tw.WriteHeader(hdr) if err := tw.WriteHeader(hdr); err != nil {
io.Copy(tw, tr) return err
}
_, err = io.Copy(tw, tr)
if err != nil {
return err
}
} }
} }
err = tw.Close() 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") 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") 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]") 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() remArgs := gcpCmd.Args()
if len(remArgs) == 0 { 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)") 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") 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() remArgs := hyperkitCmd.Args()
if len(remArgs) == 0 { if len(remArgs) == 0 {
fmt.Println("Please specify the prefix to the image to boot\n") fmt.Println("Please specify the prefix to the image to boot\n")
@ -59,7 +61,9 @@ func runHyperKit(args []string) {
if err != nil { if err != nil {
log.Fatalf("Cannot write user data ISO: %v", err) 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 := "" uuidStr := ""

View File

@ -36,7 +36,9 @@ func runQemu(args []string) {
qemuCPUs := qemuFlags.String("cpus", "1", "Number of CPUs") qemuCPUs := qemuFlags.String("cpus", "1", "Number of CPUs")
qemuMem := qemuFlags.String("mem", "1024", "Amount of memory in MB") 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() remArgs := qemuFlags.Args()
if len(remArgs) == 0 { if len(remArgs) == 0 {

View File

@ -70,7 +70,9 @@ func runVMware(args []string) {
runMem := vmwareArgs.Int("mem", 1024, "Amount of memory in MB") runMem := vmwareArgs.Int("mem", 1024, "Amount of memory in MB")
runDisk := vmwareArgs.String("disk", "", "Path to disk image to use") 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() remArgs := vmwareArgs.Args()
if len(remArgs) == 0 { if len(remArgs) == 0 {