Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove the option to install WSL/HyperV on Windows #25237

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

l0rd
Copy link
Member

@l0rd l0rd commented Feb 5, 2025

The Windows installer was able to automatically enable the Windows features for WSL or HyperV when they were not already enabled. This PR removes this capability.

installer-simplification

Having the installer enable the prerequisite (WSL or HyperV) automatically was helpful, as users didn't have to do that themselves. However, it also made the installer's code more complicated, as it needed to manage the installation of these OS features and a reboot. We weren't able to automatically test these scenarios that required a reboot.

In other words, the Windows installer, which merely extracted some files in a folder, required an advanced knowledge of the WiX toolkit and the Windows Installer SDK to support the installation of WSL and HyperV, plus contributors' time to manually test the scenarios that require a reboot.

We decided to remove this capability based on the following reasons:

Does this PR introduce a user-facing change?

The Windows installer won't propose to install WSLv2 or Hyper-V anymore

Copy link
Contributor

openshift-ci bot commented Feb 5, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: l0rd

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 5, 2025
Copy link

Ephemeral COPR build failed. @containers/packit-build please check.

@l0rd l0rd added the No New Tests Allow PR to proceed without adding regression tests label Feb 5, 2025
@l0rd
Copy link
Member Author

l0rd commented Feb 5, 2025

Setting No New Tests as the PR is removing old code, not adding new one

The Windows installer was able to automatically enable the
Windows features for WSL or HyperV when they were not
already enabled. This PR removes this capability.

Having the installer to automatically install the right prerequiste
(WSL or HyperV) was helpful as users won't have to do it manually to
use Podman after the installation. But it also made the code of
installer more complicated as it needed to manage the installation
of these OS features and a reboot. And we weren't able to automatically
test these scenarios that required a reboot.

In other words the Windows installer, that merely just extracted
some files in a folder, required, to support the installation of
WSL and HyperV, an advanced knowledge of WiX toolkit and of the
Windows Installer SDK, plus contributors-time to manually test
the scenarios that require a reboot.

We decided to remove this capability based on the following reasons:
- We had a couple of regressions in the last month that were hard to
  analyse and fix (containers#24624 and containers#24735)
- Podman maintainers currently have a scarce knowledge of the Windows Installer
  and there is no plan to invest in that
- Manually installing WSL or HyperV is not hard (e.g. run `wsl --install`) and
  are features that admins can manage on their fleet of Windows machines
- Competitors such as Docker Desktop don't automatically install these
  components
- Podman `machine init` currently verifies if WSL and HyperV are installed and
  guide the user to install them when they are not

Signed-off-by: Mario Loriedo <[email protected]>
@l0rd l0rd force-pushed the stop-automatic-wsl-hyperv-installation branch from 37a509c to 247d34f Compare February 5, 2025 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. machine No New Tests Allow PR to proceed without adding regression tests release-note
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant