containers / podman-desktop

Podman Desktop is the best free and open source tool to work with Containers and Kubernetes for developers. Get an intuitive and user-friendly interface to effortlessly build, manage, and deploy containers and Kubernetes — all from your desktop.
https://podman-desktop.io
Apache License 2.0
4.84k stars 305 forks source link

Failed update from 1.12.0 to 1.13.2 on Windows 10 #9358

Open gt-dltk opened 3 weeks ago

gt-dltk commented 3 weeks ago

Bug description

When starting podman-desktop, it reported that a new version is available: 1.32.0.

Clicking the "Update" button in podman-desktop caused podman-desktop to freeze, then crash. After re-opening podman-desktop, the same update modal appears, with the same result if clicked.

I went to github releases to download podman-desktop-1.13.2-setup-x64.exe.

After installing it, podman-desktop claims that there is no podman machine. There was one before the upgrade. Image

When trying to initialise the podman machine, podman-desktop fails, due to a VM with this name already existing. Image

The machine does exist, but was not started. Starting the podman machine succeeds, but does not fix the issue: podman-desktop still does not find the machine and fails to create a new one.

Operating system

Windows 10

Installation Method

Installer from website/GitHub releases

Version

1.13.0

Steps to reproduce

  1. Install podman-desktop 1.12.0
  2. Initialize the podman machine, pull images, start containers
  3. See that updating podman-desktop from the UI causes the application to crash
  4. Download and install podman-desktop-1.13.2-setup-x64.exe
  5. See that the existing podman machine is gone
  6. Try to initialize a new machine and see that it fails

Relevant log output

$ podman info
OS: windows/amd64
provider: wsl
version: 5.2.4

Cannot connect to Podman. Please verify your connection to the Linux system using `podman system connection list`, or try `podman machine init` and `podman machine start` to manage a new Linux VM
Error: unable to connect to Podman socket: failed to connect: dial tcp 127.0.0.1:62562: connectex: No connection could be made because the target machine actively refused it.

$ podman machine list
NAME                     VM TYPE     CREATED      LAST UP     CPUS        MEMORY      DISK SIZE
podman-machine-default*  wsl         13 days ago  Never       4           2GiB        100GiB

$ podman machine start podman-machine-default
Starting machine "podman-machine-default"

This machine is currently configured in rootless mode. If your containers
require root permissions (e.g. ports < 1024), or if you run into compatibility
issues with non-podman clients, you can switch using the following command:

        podman machine set --rootful

API forwarding listening on: npipe:////./pipe/docker_engine

Docker API clients default to this address. You do not need to set DOCKER_HOST.
Machine "podman-machine-default" started successfully

Additional context

Barebone install: no additional plugins or changes in the configuration.

gt-dltk commented 3 weeks ago

I decided to delete the podman machine via the CLI and try again.

$ podman machine list
NAME                     VM TYPE     CREATED      LAST UP            CPUS        MEMORY      DISK SIZE
podman-machine-default*  wsl         13 days ago  Currently running  4           2GiB        100GiB

$ podman machine rm podman-machine-default
The following files will be deleted:

[...]\.config\containers\podman\machine\wsl\podman-machine-default.json
[...]\AppData\Local\Temp\podman\podman-machine-default.sock
[...]\AppData\Local\Temp\podman\podman-machine-default-gvproxy.sock
[...]\AppData\Local\Temp\podman\podman-machine-default-api.sock
[...]\AppData\Local\Temp\podman\podman-machine-default.log
Are you sure you want to continue? [y/N] y
Unregistering.
The operation completed successfully.

podman-desktop is now able to create the new machine without error.

$ podman machine list
NAME                     VM TYPE     CREATED             LAST UP            CPUS        MEMORY      DISK SIZE
podman-machine-default*  wsl         About a minute ago  Currently running  4           2GiB        100GiB

However, despite having created the machine, podman-desktop still does not find the machine and suggest to create a new one. Image

podman-desktop is now in an unuseable state where it cannot find the machine it creates itself, despite an otherwise working desktop installation.

gt-dltk commented 3 weeks ago

After uninstalling podman-desktop and reinstalling version 1.12.0, the podman machine is found and podman-desktop appears to work as it previously did.

Image

(Note: the "Podman Machine 1" is one that I created from the CLI, and that podman-desktop 1.13.2 was unable to see.)

odockal commented 2 weeks ago

@gt-dltk Hey, Thanks for opening the issue.

I see multiple problems in this issue. First one is that update from 1.12.0 to 1.13.x is not possible. Seems like https://github.com/containers/podman-desktop/issues/7114.

But then, I was able to reproduce the problem in some situations. And also not exactly what you are mentioning here.

My reproduction, or related problem is when I create podman machine via CLI (using wsl provider, default one). Then If I run locally built podman desktop and start it, I do not see the machine whatsoever. But If I run ie. released bits 1.13.2.exe, it can see the wsl machine.

If I try to Initialize and Start the machine with locally built bits, I also cannot create the machine, same error number, but it has message hyperv machine requires admin authority, even though I do have HyperV enabled at all. This is where I can get as close as possible to your issue.