mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 09:16:29 +00:00
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 <rolf.neugebauer@docker.com>
This commit is contained in:
parent
cbb3ff611f
commit
2a4c0bbf43
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user