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

[Epic] User can run crc on Apple silicon (M1/M2) #2480

Closed
guillaumerose opened this issue Jun 25, 2021 · 23 comments
Closed

[Epic] User can run crc on Apple silicon (M1/M2) #2480

guillaumerose opened this issue Jun 25, 2021 · 23 comments
Assignees
Labels
kind/epic Large chunk of work os/macos priority/major size/L status/pinned Prevents the stale bot from closing the issue
Milestone

Comments

@guillaumerose
Copy link
Contributor

guillaumerose commented Jun 25, 2021

@gbraad here:

Our first target is to enable this for the Podman bundle.

Support to generate SNC bundles has been merged; crc-org/snc#454, though as mentioned in crc-org/snc#454 (comment) more work is needed in regards to the driver.


Currently, crc is not running on Apple M1. The goal is to fully support this platform, like Apple and amd64 arch.

Opened a new epic to track the work related to OpenShift

@guillaumerose guillaumerose added the kind/epic Large chunk of work label Jun 25, 2021
@guillaumerose guillaumerose added this to Unordered epics in Backlog, blockers and roadmap Jun 25, 2021
@denismaggior8
Copy link

Any update on this?

@guillaumerose
Copy link
Contributor Author

crc currently uses hyperkit as the hypervisor. This is not possible anymore with M1. The easiest thing to do is to use qemu.

First step is to adapt https://github.com/code-ready/machine-driver-hyperkit/ for qemu.
We also need to update https://github.com/containers/gvisor-tap-vsock to the latest version.

@stale
Copy link

stale bot commented Oct 11, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the status/stale Issue went stale; did not receive attention or no reply from the OP label Oct 11, 2021
@raisingdibar
Copy link

I would also like to bump this issue back up. Trying to bring my whole company onto Openshift but we're now an M1 shop cause we do iOS. This would be HUGE.

@stale stale bot removed the status/stale Issue went stale; did not receive attention or no reply from the OP label Oct 20, 2021
@stale stale bot added the status/stale Issue went stale; did not receive attention or no reply from the OP label Dec 20, 2021
@crc-org crc-org deleted a comment from stale bot Jan 6, 2022
@stale stale bot removed the status/stale Issue went stale; did not receive attention or no reply from the OP label Jan 6, 2022
@gbraad gbraad added os/macos priority/major size/L status/pinned Prevents the stale bot from closing the issue labels Jan 6, 2022
@gbraad
Copy link
Contributor

gbraad commented Jan 6, 2022

We are currently working on a new driver for the Virtualization Framework that is part of Catalina and Big Sur.
More details around this will follow.

Note: OpenShift on ARM is only available as a dev preview: https://github.com/openshift/ocp-on-arm

@gbraad
Copy link
Contributor

gbraad commented Jan 6, 2022

Support to generate SNC bundles has been merged; crc-org/snc#454, though as mentioned in crc-org/snc#454 (comment) more work is needed in regards to the driver.

@gbraad gbraad self-assigned this Jan 28, 2022
@cfergeau
Copy link
Contributor

I made some progress on issue #1850, I can run crc using virtualization.framework for the VM. However, this is currently only working on x86_64, I haven't been able yet to start a VM on a M1 machine :-/

@gbraad
Copy link
Contributor

gbraad commented Jan 29, 2022

The time-line is to offer

  • fcos image for podman
  • run this on arm/m1 (vm started but more work needed)
  • add microshift
  • test microshift on arm/m1

@praveenkumar
Copy link
Member

I created the fcos bundle on aarch64 and tried on m1 using vfkit (work which @cfergeau did) and able to start the podman bundle.
crc-org/snc#502

@gbraad
Copy link
Contributor

gbraad commented Feb 6, 2022

A dev preview for M1 is available: #2988 Things might or might not work, so be sure to add. Comm ets to the discussion. Especially the UI is still changing... And this is Podman only for now.

@mwitteveen
Copy link

Same as raisingdibar, I'm developing an application for the Dutch government and just bought a new Macbook m1 max to develop this on.

Is there any time indication for when the M1 Openshift release for CRC is expected?

At this moment, I am walking around with a separate Linux laptop just to run the cluster on.....

@cfergeau
Copy link
Contributor

Is there any time indication for when the M1 Openshift release for CRC is expected?

Unfortunately this is not as straightforward as we'd like, as there are low-level incompatibilities between RHEL and the M1 Hardware Virtualization, see https://access.redhat.com/solutions/6545411 or https://access.redhat.com/discussions/5966451

RHEL 7 or 8 for aarch64 don't run virtualized in a Mac with Apple M1 processor.

@mwitteveen
Copy link

Is there any time indication for when the M1 Openshift release for CRC is expected?

Unfortunately this is not as straightforward as we'd like, as there are low-level incompatibilities between RHEL and the M1 Hardware Virtualization, see https://access.redhat.com/solutions/6545411 or https://access.redhat.com/discussions/5966451

RHEL 7 or 8 for aarch64 don't run virtualized in a Mac with Apple M1 processor.

But it looks like RHEL 9 is running on M1's. Is this going to solve the problem?

@cfergeau
Copy link
Contributor

But it looks like RHEL 9 is running on M1's. Is this going to solve the problem?

Yes, this should help, but this means OpenShift on RHEL9 is required before we can ship OpenShift on M1

@jamesdhope
Copy link

Is there an update on this please?

@cfergeau
Copy link
Contributor

The PR to switch from hyperkit to virtualization framework on x86_64 macs is opened at #3035 and hopefully will get merged for the next release.

Once this is in, a few more commits are needed for m1 support in crc https://github.com/cfergeau/crc/commits/macos-vf and a few additional changes in our bundle generation code crc-org/snc#503

This will initially only support running podman containers, and not openshift clusters.

@rasheedamir
Copy link

@cfergeau so, when do you think support for openshift clusters will be available?

@cfergeau
Copy link
Contributor

@cfergeau so, when do you think support for openshift clusters will be available?

This still depends on #2480 (comment) , I'm not sure what the anticipated schedule is for this.

@marcelomrwin
Copy link

I understand the complexity but I confess that this incompatibility has a very negative effect on developers. Especially those who got the M1 to gain more productivity. In the absence of a local container, I recommend using Openshift Sandbox https://developers.redhat.com/developer-sandbox/get-started. However for local tests we have minikube or other kubernetes distributions that already support mac m1.
My opinion is that once we get used to minikube and other local options we don't want to go back to the local crc when it becomes available. And right now, we don't even know if it's going to be supported or when it's going to be supported.

@gbraad
Copy link
Contributor

gbraad commented May 25, 2022

once we get used to minikube

At the moment we are offering a Podman VM that will be used to run Microshift on M1. This has already been tested but not released yet.

Ultimately OCP should be able to run when the RHCOS image is based on RHEL9. At the moment we are waiting for this.

@gbraad gbraad changed the title [Epic] User can run crc on Apple M1 [Epic] User can run crc on Apple M1/M2 Jun 7, 2022
@gbraad gbraad changed the title [Epic] User can run crc on Apple M1/M2 [Epic] User can run crc on Apple silicon (M1/M2) Jun 7, 2022
@gbraad
Copy link
Contributor

gbraad commented Jun 7, 2022

Missing:

  • test infrastructure
  • end to end install (tray has been partially modified to handle Podman-only)
  • OpenShift support
    • build infrastructure for images
    • ... TBD

@gbraad gbraad modified the milestones: 2022 Q1, 2022 Q3 Jun 7, 2022
@gbraad
Copy link
Contributor

gbraad commented Jul 20, 2022

Please close this one and create a follow-up with the new targets and schedule.

/cc: @code-ready/crc-team @praveenkumar

@gbraad gbraad closed this as completed Jul 20, 2022
@gbraad
Copy link
Contributor

gbraad commented Jul 20, 2022

Modified original top comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/epic Large chunk of work os/macos priority/major size/L status/pinned Prevents the stale bot from closing the issue
Projects
Status: No status
Development

No branches or pull requests

10 participants