@@ -9,10 +9,8 @@ import (
99 "strings"
1010
1111 "github.com/containers/podman/v6/pkg/machine/define"
12- "github.com/containers/podman/v6/pkg/machine/env"
1312 pkgOS "github.com/containers/podman/v6/pkg/machine/os"
14- "github.com/containers/podman/v6/pkg/machine/provider"
15- "github.com/containers/podman/v6/pkg/machine/vmconfigs"
13+ "github.com/containers/podman/v6/pkg/machine/shim"
1614 machineconfig "go.podman.io/common/pkg/machine"
1715)
1816
@@ -23,53 +21,43 @@ type ManagerOpts struct {
2321}
2422
2523// NewOSManager creates a new OSManager depending on the mode of the call
26- func NewOSManager (opts ManagerOpts , p vmconfigs. VMProvider ) (pkgOS.Manager , error ) {
24+ func NewOSManager (opts ManagerOpts ) (pkgOS.Manager , error ) {
2725 // If a VM name is specified, then we know that we are not inside a
2826 // Podman VM, but rather outside of it.
2927 if machineconfig .IsPodmanMachine () && opts .VMName == "" {
3028 return guestOSManager ()
3129 }
32- return machineOSManager (opts , p )
33- }
34-
35- // guestOSManager returns an OSmanager for inside-VM operations
36- func guestOSManager () (pkgOS.Manager , error ) {
37- dist := GetDistribution ()
38- switch {
39- case dist .Name == "fedora" && dist .Variant == "coreos" :
40- return & pkgOS.OSTree {}, nil
41- default :
42- return nil , errors .New ("unsupported OS" )
43- }
44- }
4530
46- // machineOSManager returns an os manager that manages outside the VM.
47- func machineOSManager (opts ManagerOpts , _ vmconfigs.VMProvider ) (pkgOS.Manager , error ) {
48- vmName := opts .VMName
31+ // Set to the default name if no VM was provided
4932 if opts .VMName == "" {
50- vmName = define .DefaultMachineName
33+ opts . VMName = define .DefaultMachineName
5134 }
52- p , err := provider .Get ()
53- if err != nil {
54- return nil , err
55- }
56- dirs , err := env .GetMachineDirs (p .VMType ())
57- if err != nil {
58- return nil , err
59- }
60- mc , err := vmconfigs .LoadMachineByName (vmName , dirs )
35+
36+ mc , vmProvider , err := shim .VMExists (opts .VMName )
6137 if err != nil {
6238 return nil , err
6339 }
40+
6441 return & pkgOS.MachineOS {
6542 VM : mc ,
66- Provider : p ,
43+ Provider : vmProvider ,
6744 Args : opts .CLIArgs ,
68- VMName : vmName ,
45+ VMName : opts . VMName ,
6946 Restart : opts .Restart ,
7047 }, nil
7148}
7249
50+ // guestOSManager returns an OSmanager for inside-VM operations
51+ func guestOSManager () (pkgOS.Manager , error ) {
52+ dist := GetDistribution ()
53+ switch {
54+ case dist .Name == "fedora" && dist .Variant == "coreos" :
55+ return & pkgOS.OSTree {}, nil
56+ default :
57+ return nil , errors .New ("unsupported OS" )
58+ }
59+ }
60+
7361type Distribution struct {
7462 Name string
7563 Variant string
0 commit comments