Skip to content

Commit

Permalink
Merge pull request #13620 from Luap99/qemu-path
Browse files Browse the repository at this point in the history
podman machine start: lookup qemu path again if not found
  • Loading branch information
openshift-merge-robot authored Mar 24, 2022
2 parents caaaf07 + da58911 commit c61b06c
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions pkg/machine/qemu/machine.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ func (p *Provider) NewMachine(opts machine.InitOptions) (machine.VM, error) {
return nil, err
}

cmd := append([]string{execPath})
cmd := []string{execPath}
// Add memory
cmd = append(cmd, []string{"-m", strconv.Itoa(int(vm.Memory))}...)
// Add cpus
Expand Down Expand Up @@ -430,13 +430,29 @@ func (v *MachineVM) Start(name string, _ machine.StartOptions) error {

// Disable graphic window when not in debug mode
// Done in start, so we're not suck with the debug level we used on init
if logrus.GetLevel() != logrus.DebugLevel {
if !logrus.IsLevelEnabled(logrus.DebugLevel) {
cmd = append(cmd, "-display", "none")
}

_, err = os.StartProcess(v.CmdLine[0], cmd, attr)
if err != nil {
return err
// check if qemu was not found
if !errors.Is(err, os.ErrNotExist) {
return err
}
// lookup qemu again maybe the path was changed, https://github.com/containers/podman/issues/13394
cfg, err := config.Default()
if err != nil {
return err
}
cmd[0], err = cfg.FindHelperBinary(QemuCommand, true)
if err != nil {
return err
}
_, err = os.StartProcess(cmd[0], cmd, attr)
if err != nil {
return err
}
}
fmt.Println("Waiting for VM ...")
socketPath, err := getRuntimeDir()
Expand Down

0 comments on commit c61b06c

Please sign in to comment.