rancher-sandbox / rancher-desktop

Container Management and Kubernetes on the Desktop
https://rancherdesktop.io
Apache License 2.0
5.84k stars 272 forks source link

Needs a documented way to downgrade on MacOS #7316

Open mwisnicki opened 1 month ago

mwisnicki commented 1 month ago

Actual Behavior

I'm trying to troubleshoot an issue with recent Rancher update on macos but found it hard to downgrade.

Steps to Reproduce

  1. https://docs.rancherdesktop.io/getting-started/installation/#uninstalling-rancher-desktop-on-macos
  2. https://docs.rancherdesktop.io/getting-started/installation/#installing-rancher-desktop-on-macos
  3. Start Rancher Desktop

Result

image
% docker run --rm -it -e POSTGRES_PASSWORD=password postgres:15-bookworm 
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

Expected Behavior

There is a documented way to downgrade or following Uninstall+Install should just work

Additional Information

No response

Rancher Desktop Version

1.13.1

Rancher Desktop K8s Version

deactivated

Which container engine are you using?

moby (docker cli)

What operating system are you using?

macOS

Operating System / Build Version

macOS Sonoma 14.5

What CPU architecture are you using?

arm64 (Apple Silicon)

Linux only: what package format did you use to install Rancher Desktop?

None

Windows User Only

No response

mwisnicki commented 1 month ago

There is actually a FAQ entry about downgrade that says to do uninstall and install but that doesn't work https://docs.rancherdesktop.io/faq/#q-how-can-i-downgrade-rancher-desktop-to-a-non-current-older-release-version

jandubois commented 1 month ago

Are you sure you did a factory reset before you downgraded? You can still do the reset afterwards and restart Rancher Desktop.

It is not possible to downgrade Rancher Desktop without deleting the old VM in between.

mwisnicki commented 1 month ago

Also another documentation page is wrong: https://docs.rancherdesktop.io/1.13/references/rdctl-command-reference#rdctl-start

Example:

rdctl start --container-runtime dockerd -- kubernetes-version 1.19.3

Error: unknown flag: --container-runtime
Usage:
  rdctl start [flags]
jandubois commented 1 month ago

Also another documentation page is wrong

Thanks!

Other issues I just noticed:

mwisnicki commented 1 month ago

Thanks, reset indeed helped.

Would be nice if it was possible to quickly restart without losing all the configuration though.

jandubois commented 1 month ago

Would be nice if it was possible to quickly restart without losing all the configuration though.

As I mentioned before, the problem is that there is no way to downgrade the Linux VM to an older version; there is some extra code in Rancher Desktop to support upgrades, but it doesn't work in the other direction.

Please leave this issue open for the doc problems.

mwisnicki commented 1 month ago

But factory reset will also wipe all the other Rancher Desktop settings, right? Is there a way to only wipe the vm keeping the settings?

jandubois commented 1 month ago

But factory reset will also wipe all the other Rancher Desktop settings, right? Is there a way to only wipe the vm keeping the settings?

In general there isn't, as the settings schema also changes between versions. The newer release include migrations from older schemas, but obviously older Rancher Desktop version won't know how to migrate from a new schema that was not known at the time the version was released.

Theoretically you could do this manually, but it would be error-prone, and there are not that many settings anyways.

Normally you should not need to downgrade to an older version. One thing you could do (with foresight) is to take a snapshot before you upgrade. Then when you want to downgrade again, you can restore to that snapshot, as it will be untouched. But you cannot downgrade a VM/settings once they have been migrated to the new version.