summaryrefslogtreecommitdiff
path: root/cmd/podman/machine/create.go
diff options
context:
space:
mode:
authorAshley Cui <acui@redhat.com>2021-03-25 15:28:49 -0400
committerAshley Cui <acui@redhat.com>2021-03-25 17:45:27 -0400
commitf6638571037c3d92066540e32fa08b76ce7f1fd8 (patch)
tree5c7332668bb4aae33f3f278f8b50ddd5ed8cff1d /cmd/podman/machine/create.go
parentdb356748738762c31a036c179d23488d7978dabf (diff)
downloadpodman-f6638571037c3d92066540e32fa08b76ce7f1fd8.tar.gz
podman-f6638571037c3d92066540e32fa08b76ce7f1fd8.tar.bz2
podman-f6638571037c3d92066540e32fa08b76ce7f1fd8.zip
Rename podman machine create to init and clean up
Rename podman machine create to init because we're initing a VM, not really creating it Wire up CPUs flag Suppress QEMU GUI from popping up when not in debug mode [NO TESTS NEEDED] Signed-off-by: Ashley Cui <acui@redhat.com>
Diffstat (limited to 'cmd/podman/machine/create.go')
-rw-r--r--cmd/podman/machine/create.go99
1 files changed, 0 insertions, 99 deletions
diff --git a/cmd/podman/machine/create.go b/cmd/podman/machine/create.go
deleted file mode 100644
index 1da34327a..000000000
--- a/cmd/podman/machine/create.go
+++ /dev/null
@@ -1,99 +0,0 @@
-// +build amd64,linux amd64,darwin arm64,darwin
-
-package machine
-
-import (
- "github.com/containers/common/pkg/completion"
- "github.com/containers/podman/v3/cmd/podman/registry"
- "github.com/containers/podman/v3/pkg/domain/entities"
- "github.com/containers/podman/v3/pkg/machine"
- "github.com/containers/podman/v3/pkg/machine/qemu"
- "github.com/spf13/cobra"
-)
-
-var (
- createCmd = &cobra.Command{
- Use: "create [options] [NAME]",
- Short: "Create a vm",
- Long: "Create a virtual machine for Podman to run on. Virtual machines are used to run Podman.",
- RunE: create,
- Args: cobra.MaximumNArgs(1),
- Example: `podman machine create myvm`,
- ValidArgsFunction: completion.AutocompleteNone,
- }
-)
-
-type CreateCLIOptions struct {
- CPUS uint64
- Memory uint64
- Devices []string
- ImagePath string
- IgnitionPath string
- Name string
-}
-
-var (
- createOpts = CreateCLIOptions{}
- defaultMachineName string = "podman-machine-default"
-)
-
-func init() {
- registry.Commands = append(registry.Commands, registry.CliCommand{
- Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
- Command: createCmd,
- Parent: machineCmd,
- })
- flags := createCmd.Flags()
-
- cpusFlagName := "cpus"
- flags.Uint64Var(
- &createOpts.CPUS,
- cpusFlagName, 1,
- "Number of CPUs. The default is 0.000 which means no limit",
- )
- _ = createCmd.RegisterFlagCompletionFunc(cpusFlagName, completion.AutocompleteNone)
-
- memoryFlagName := "memory"
- flags.Uint64VarP(
- &createOpts.Memory,
- memoryFlagName, "m", 2048,
- "Memory (in MB)",
- )
- _ = createCmd.RegisterFlagCompletionFunc(memoryFlagName, completion.AutocompleteNone)
-
- ImagePathFlagName := "image-path"
- flags.StringVar(&createOpts.ImagePath, ImagePathFlagName, "", "Path to qcow image")
- _ = createCmd.RegisterFlagCompletionFunc(ImagePathFlagName, completion.AutocompleteDefault)
-
- IgnitionPathFlagName := "ignition-path"
- flags.StringVar(&createOpts.IgnitionPath, IgnitionPathFlagName, "", "Path to ignition file")
- _ = createCmd.RegisterFlagCompletionFunc(IgnitionPathFlagName, completion.AutocompleteDefault)
-}
-
-// TODO should we allow for a users to append to the qemu cmdline?
-func create(cmd *cobra.Command, args []string) error {
- createOpts.Name = defaultMachineName
- if len(args) > 0 {
- createOpts.Name = args[0]
- }
- vmOpts := machine.CreateOptions{
- CPUS: createOpts.CPUS,
- Memory: createOpts.Memory,
- IgnitionPath: createOpts.IgnitionPath,
- ImagePath: createOpts.ImagePath,
- Name: createOpts.Name,
- }
- var (
- vm machine.VM
- vmType string
- err error
- )
- switch vmType {
- default: // qemu is the default
- vm, err = qemu.NewMachine(vmOpts)
- }
- if err != nil {
- return err
- }
- return vm.Create(vmOpts)
-}