mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-10-31 05:12:03 +00:00 
			
		
		
		
	Merge pull request #1577 from riyazdf/errchecking
catch and handle errors in src/cmd/moby
This commit is contained in:
		| @@ -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 { | ||||||
|   | |||||||
| @@ -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 | ||||||
|   | |||||||
| @@ -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() | ||||||
|   | |||||||
| @@ -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 { | ||||||
|   | |||||||
| @@ -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 := "" | ||||||
|   | |||||||
| @@ -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 { | ||||||
|   | |||||||
| @@ -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 { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user