diff options
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/domain/entities/events.go | 4 | ||||
-rw-r--r-- | pkg/machine/config.go | 3 | ||||
-rw-r--r-- | pkg/machine/qemu/machine.go | 17 | ||||
-rw-r--r-- | pkg/terminal/console_windows.go | 2 |
4 files changed, 20 insertions, 6 deletions
diff --git a/pkg/domain/entities/events.go b/pkg/domain/entities/events.go index 5e7cc9ad1..73a375b94 100644 --- a/pkg/domain/entities/events.go +++ b/pkg/domain/entities/events.go @@ -60,6 +60,10 @@ func ConvertToEntitiesEvent(e libpodEvents.Event) *Event { attributes["name"] = e.Name attributes["containerExitCode"] = strconv.Itoa(e.ContainerExitCode) return &Event{dockerEvents.Message{ + // Compatibility with clients that still look for deprecated API elements + Status: e.Status.String(), + ID: e.ID, + From: e.Image, Type: e.Type.String(), Action: e.Status.String(), Actor: dockerEvents.Actor{ diff --git a/pkg/machine/config.go b/pkg/machine/config.go index cad71ba49..8db2335aa 100644 --- a/pkg/machine/config.go +++ b/pkg/machine/config.go @@ -61,7 +61,8 @@ type ListResponse struct { } type SSHOptions struct { - Args []string + Username string + Args []string } type StartOptions struct{} diff --git a/pkg/machine/qemu/machine.go b/pkg/machine/qemu/machine.go index 855a39c56..d5f538594 100644 --- a/pkg/machine/qemu/machine.go +++ b/pkg/machine/qemu/machine.go @@ -15,6 +15,7 @@ import ( "strings" "time" + "github.com/containers/common/pkg/config" "github.com/containers/podman/v3/pkg/machine" "github.com/containers/podman/v3/pkg/rootless" "github.com/containers/podman/v3/utils" @@ -488,7 +489,12 @@ func (v *MachineVM) SSH(name string, opts machine.SSHOptions) error { return errors.Errorf("vm %q is not running.", v.Name) } - sshDestination := v.RemoteUsername + "@localhost" + username := opts.Username + if username == "" { + username = v.RemoteUsername + } + + sshDestination := username + "@localhost" port := strconv.Itoa(v.Port) args := []string{"-i", v.IdentityPath, "-p", port, sshDestination, "-o", "UserKnownHostsFile /dev/null", "-o", "StrictHostKeyChecking no"} @@ -622,9 +628,12 @@ func CheckActiveVM() (bool, string, error) { // startHostNetworking runs a binary on the host system that allows users // to setup port forwarding to the podman virtual machine func (v *MachineVM) startHostNetworking() error { - // TODO we may wish to configure the directory in containers common - binary := filepath.Join("/usr/libexec/podman/", machine.ForwarderBinaryName) - if _, err := os.Stat(binary); err != nil { + cfg, err := config.Default() + if err != nil { + return err + } + binary, err := cfg.FindHelperBinary(machine.ForwarderBinaryName, false) + if err != nil { return err } diff --git a/pkg/terminal/console_windows.go b/pkg/terminal/console_windows.go index 08e66cb3a..9a636d681 100644 --- a/pkg/terminal/console_windows.go +++ b/pkg/terminal/console_windows.go @@ -25,7 +25,7 @@ func setConsoleMode(handle windows.Handle, flags uint32) error { var mode uint32 err := windows.GetConsoleMode(handle, &mode) if err != nil { - return err + return nil // not a terminal } if err := windows.SetConsoleMode(handle, mode|flags); err != nil { // In similar code, it is not considered an error if we cannot set the |