From 2a4c0bbf43f58720bd1c87b06d967f25e5dee5ae Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Sun, 2 Apr 2017 12:42:47 +0100 Subject: [PATCH] cli: Simplify run_hyperkit.go Separating command line option parsing from executing hyperkit makes the code awkward with many parameters passed between functions. Having everything in one function makes the code simpler. Signed-off-by: Rolf Neugebauer --- src/cmd/moby/run_hyperkit.go | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/src/cmd/moby/run_hyperkit.go b/src/cmd/moby/run_hyperkit.go index 0349291eb..4d994edc4 100644 --- a/src/cmd/moby/run_hyperkit.go +++ b/src/cmd/moby/run_hyperkit.go @@ -20,11 +20,11 @@ func runHyperKit(args []string) { fmt.Printf("Options:\n") hyperkitCmd.PrintDefaults() } - runHyperKit := hyperkitCmd.String("hyperkit", "", "Path to hyperkit binary (if not in default location)") - runCPUs := hyperkitCmd.Int("cpus", 1, "Number of CPUs") - runMem := hyperkitCmd.Int("mem", 1024, "Amount of memory in MB") - runDiskSz := hyperkitCmd.Int("disk-size", 0, "Size of Disk in MB") - runDisk := hyperkitCmd.String("disk", "", "Path to disk image to used") + hyperkitPath := hyperkitCmd.String("hyperkit", "", "Path to hyperkit binary (if not in default location)") + cpus := hyperkitCmd.Int("cpus", 1, "Number of CPUs") + mem := hyperkitCmd.Int("mem", 1024, "Amount of memory in MB") + diskSz := hyperkitCmd.Int("disk-size", 0, "Size of Disk in MB") + disk := hyperkitCmd.String("disk", "", "Path to disk image to used") hyperkitCmd.Parse(args) remArgs := hyperkitCmd.Args() @@ -35,29 +35,26 @@ func runHyperKit(args []string) { } prefix := remArgs[0] - runHyperKitInternal(*runHyperKit, *runCPUs, *runMem, *runDiskSz, *runDisk, prefix) -} - -func runHyperKitInternal(hyperkitPath string, cpus, mem, diskSz int, disk, prefix string) { + // Run cmdline, err := ioutil.ReadFile(prefix + "-cmdline") if err != nil { log.Fatalf("Cannot open cmdline file: %v", err) } - if diskSz != 0 && disk == "" { - disk = prefix + "-disk.img" + if *diskSz != 0 && *disk == "" { + *disk = prefix + "-disk.img" } - h, err := hyperkit.New(hyperkitPath, "", "auto", disk) + h, err := hyperkit.New(*hyperkitPath, "", "auto", *disk) if err != nil { log.Fatalln("Error creating hyperkit: ", err) } h.Kernel = prefix + "-bzImage" h.Initrd = prefix + "-initrd.img" - h.CPUs = cpus - h.Memory = mem - h.DiskSize = diskSz + h.CPUs = *cpus + h.Memory = *mem + h.DiskSize = *diskSz err = h.Run(string(cmdline)) if err != nil {