Merge pull request #15433 from arixmkii/win_compat3_rootless

Fixes isRootful check using qemu machine on Windows
This commit is contained in:
OpenShift Merge Robot 2022-08-24 16:17:32 -04:00 committed by GitHub
commit 9a83fe33b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 8 deletions

View File

@ -1,5 +1,5 @@
//go:build !darwin && !windows
// +build !darwin,!windows
//go:build !darwin
// +build !darwin
package qemu

View File

@ -1,6 +1,3 @@
//go:build (amd64 && !windows) || (arm64 && !windows)
// +build amd64,!windows arm64,!windows
package qemu
import (

View File

@ -870,7 +870,7 @@ func NewQMPMonitor(network, name string, timeout time.Duration) (Monitor, error)
if err != nil {
return Monitor{}, err
}
if !rootless.IsRootless() {
if isRootful() {
rtDir = "/run"
}
rtDir = filepath.Join(rtDir, "podman")
@ -1371,7 +1371,7 @@ func (v *MachineVM) setPIDSocket() error {
if err != nil {
return err
}
if !rootless.IsRootless() {
if isRootful() {
rtPath = "/run"
}
socketDir := filepath.Join(rtPath, "podman")
@ -1397,7 +1397,7 @@ func (v *MachineVM) getSocketandPid() (string, string, error) {
if err != nil {
return "", "", err
}
if !rootless.IsRootless() {
if isRootful() {
rtPath = "/run"
}
socketDir := filepath.Join(rtPath, "podman")
@ -1735,3 +1735,11 @@ func isProcessAlive(pid int) bool {
func (p *Provider) VMType() string {
return vmtype
}
func isRootful() bool {
// Rootless is not relevant on Windows. In the future rootless.IsRootless
// could be switched to return true on Windows, and other codepaths migrated
// for now will check additionally for valid os.Getuid
return !rootless.IsRootless() && os.Getuid() != -1
}