aboutsummaryrefslogtreecommitdiff
path: root/cmd/podman/machine
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
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')
-rw-r--r--cmd/podman/machine/create.go99
-rw-r--r--cmd/podman/machine/init.go99
2 files changed, 99 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)
-}
diff --git a/cmd/podman/machine/init.go b/cmd/podman/machine/init.go
new file mode 100644
index 000000000..900f67e2f
--- /dev/null
+++ b/cmd/podman/machine/init.go
@@ -0,0 +1,99 @@
+// +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 (
+ initCmd = &cobra.Command{
+ Use: "init [options] [NAME]",
+ Short: "initialize a vm",
+ Long: "initialize a virtual machine for Podman to run on. Virtual machines are used to run Podman.",
+ RunE: initMachine,
+ Args: cobra.MaximumNArgs(1),
+ Example: `podman machine init myvm`,
+ ValidArgsFunction: completion.AutocompleteNone,
+ }
+)
+
+type InitCLIOptions struct {
+ CPUS uint64
+ Memory uint64
+ Devices []string
+ ImagePath string
+ IgnitionPath string
+ Name string
+}
+
+var (
+ initOpts = InitCLIOptions{}
+ defaultMachineName string = "podman-machine-default"
+)
+
+func init() {
+ registry.Commands = append(registry.Commands, registry.CliCommand{
+ Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
+ Command: initCmd,
+ Parent: machineCmd,
+ })
+ flags := initCmd.Flags()
+
+ cpusFlagName := "cpus"
+ flags.Uint64Var(
+ &initOpts.CPUS,
+ cpusFlagName, 1,
+ "Number of CPUs. The default is 1.",
+ )
+ _ = initCmd.RegisterFlagCompletionFunc(cpusFlagName, completion.AutocompleteNone)
+
+ memoryFlagName := "memory"
+ flags.Uint64VarP(
+ &initOpts.Memory,
+ memoryFlagName, "m", 2048,
+ "Memory (in MB)",
+ )
+ _ = initCmd.RegisterFlagCompletionFunc(memoryFlagName, completion.AutocompleteNone)
+
+ ImagePathFlagName := "image-path"
+ flags.StringVar(&initOpts.ImagePath, ImagePathFlagName, "", "Path to qcow image")
+ _ = initCmd.RegisterFlagCompletionFunc(ImagePathFlagName, completion.AutocompleteDefault)
+
+ IgnitionPathFlagName := "ignition-path"
+ flags.StringVar(&initOpts.IgnitionPath, IgnitionPathFlagName, "", "Path to ignition file")
+ _ = initCmd.RegisterFlagCompletionFunc(IgnitionPathFlagName, completion.AutocompleteDefault)
+}
+
+// TODO should we allow for a users to append to the qemu cmdline?
+func initMachine(cmd *cobra.Command, args []string) error {
+ initOpts.Name = defaultMachineName
+ if len(args) > 0 {
+ initOpts.Name = args[0]
+ }
+ vmOpts := machine.InitOptions{
+ CPUS: initOpts.CPUS,
+ Memory: initOpts.Memory,
+ IgnitionPath: initOpts.IgnitionPath,
+ ImagePath: initOpts.ImagePath,
+ Name: initOpts.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.Init(vmOpts)
+}