Giter Club home page Giter Club logo

Comments (15)

ashley-cui avatar ashley-cui commented on May 27, 2024 3

@urkle Podman v4.9 was an experiment in podman machine, and since we were relatively inexperienced in that area, we needed to re-vamp our machine stack almost completely for 5.0. 5.0 to fixes a lot of these potholes, but the gap between 4.9 and 5.0 was big enough that implementing direct upgrades was not possible. Unfortunately, it may have caused a rough transition between 4.9 and 5.0, but, we hope that our fixes in Podman 5.0 and beyond makes our UX much better. Our blog goes into a bit more detail about this.

If you can, we'd recommend you upgrade to Podman v5.0. However, in the case that you're unable to do so, using the following commands to init a new 4.9 machine should fix your issue. Let me know if this gets things working again! And of course, feel free to file any more issues you come across.

x86:

podman machine init --image-path https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/39.20240407.3.0/x86_64/fedora-coreos-39.20240407.3.0-qemu.x86_64.qcow2.xz

arm:

podman machine init --image-path=https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/39.20240407.3.0/aarch64/fedora-coreos-39.20240407.3.0-qemu.aarch64.qcow2.xz

from podman.

glaydston avatar glaydston commented on May 27, 2024 1

@hritik5102 I've had the same problem here and aftering to search I'm found this article:

In the case of Macs running Podman 4, it was based on QEMU virtualization. Podman 5 uses the Apple Hypervisor on Macs and support for QEMU was deprecated. Also, depending on where you have obtained your Podman 5 binaries, you will want to make sure you have vfkit installed as it replaces QEMU.

Although the problem persisted, following the steps outlined in this article the dreaded vfkit exit 1 and removing the brew install to use the Installer Launcher resolved the issue for me.

from podman.

ashley-cui avatar ashley-cui commented on May 27, 2024

Unfortunately I think the best way forward is to move back to Podman 4.9, by uninstalling it through brew and re-installing it via the pkginstaller shipped on our release page: https://github.com/containers/podman/releases/tag/v4.9.3

from podman.

manofthepeace avatar manofthepeace commented on May 27, 2024

Thanks for the reply. Do you know if 4.9.X will be supported for a while within podman-desktop or this setup is actually sort of deprecated. Is there a possibility to fix that in podman, is efi really required? Would be nice if it could detect older macs and use a non efi version in the future.

Thanks again.

from podman.

ashley-cui avatar ashley-cui commented on May 27, 2024

I think that's a question to ask on podman-desktop for desktop support.

@baude @cfergeau Do you know about our EFI requirement?

from podman.

cfergeau avatar cfergeau commented on May 27, 2024

The only alternative to using EFI would be to extract the kernel/inintrd/kernel cmdline from the VM image, and provide these to vfkit. Using EFI is simpler as vfkit/apple virtualization framework can then boot the disk image directly.
EFI support is only available in macOS 13 or newer, but I'm afraid a fallback LinuxBootloader would be quite some work.

from podman.

github-actions avatar github-actions commented on May 27, 2024

A friendly reminder that this issue had no activity for 30 days.

from podman.

urkle avatar urkle commented on May 27, 2024

@ashley-cui how does one exactly get podman 4.9.x working again? as my podman machine auto-upgraded yesterday and switched to podman 5 whcih means I cannot do anything as I can't start a podman 5 machine and I cannot connect the 4.9 client to my qemu machine.

This whole upgrade to podman 5 has not been handled well.

from podman.

urkle avatar urkle commented on May 27, 2024

@ashley-cui thanks for the detailed information.

I had tried to do a full upgrade to 5.0 but ran into the issue described here and was unable to start the machine.

after much fiddling I managed to get the 4.9.4 installed and used --image-path stable to get the latest 39.x machine created. Then I further disable zincati ( I believe that is all that is needed to prevent auto updates). Further I had to do a lot of "fun" creative work to extract out my volumes from the old image to import into the new image since there is no direct way to export/import volumes in podman machine.

I had to

  1. ssh into the vm (before upgrading to podman 5)
  2. run podman volume export on each volume (in the vm)
  3. use podman machine ssh to "cat" the tar to a local file.
    podman machine ssh cat myvolume_name.tar > myvolume_name.tar
  4. then after the failed 5 upgrade and getting the 4.9 vm build back up I ended up using a busybox container to copy the volumes back in. (probably should have just done that to export them as well, but was hoping the export/import would have been nicer.. )

Is there not a possibility of adding back the QEMU backend as an alternative for older macOS?

from podman.

ashley-cui avatar ashley-cui commented on May 27, 2024

@urkle Hmm interesting, I believe we disabled zincati already with this commit, that's strange that it's still updating. I can take a look at that.

We moved to appleHV as it resolved a lot of issues wrt dependencies, speed, and some other factors. We currently plan on only supporting appleHV for our future.

from podman.

urkle avatar urkle commented on May 27, 2024

@ashley-cui it could be my original podman machine was created before podman 4.8.0 and that is why it had updated itself?

from podman.

ashley-cui avatar ashley-cui commented on May 27, 2024

@urkle That would be it!

from podman.

hritik5102 avatar hritik5102 commented on May 27, 2024

Problem

I was doing Podman machine configuration setup for M1, and when I ran the podman machine start command, It failed with

Starting machine "podman-machine-default"
Error: vfkit exited unexpectedly with exit code 0

Addition information:

  • I installed the latest podman version 5.0.2 using brew install podman
  • I installed CoreOS version 37.20230401.3.0 instead of 38.20230430.2.1 because the Postgres container crashed during the initial schematic setup on version 38.20230430.2.1, causing the database to be in an invalid state.
  • Here are the steps that I've followed.
  • Download the older version OS image file (link)
curl -O https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/37.20230401.3.0/aarch64/fedora-coreos-37.20230401.3.0-qemu.aarch64.qcow2.xz
  • Initialise the podman machine
podman machine init --disk-size 50 --memory 6144 --cpus 2 --image-path /var/podman_home/fedora-coreos-37.20230401.3.0-qemu.aarch64.qcow2.xz
  • Start the machine - podman machine start
  • Check the screenshot attached below for more information
image

Things that i've tried:

Note

I'm not sure whether this is relevant or not, I've checked no podman-machine-default file is created inside ~/.ssh folder.

@ashley-cui Could you please help me here? Thank you.

from podman.

hritik5102 avatar hritik5102 commented on May 27, 2024

JFYI : The above issue got resolved.

Solution:

  • Installed the latest version of podman ( viz 5.0.3 ), Not sure, whether this is actually contributed to the fix.
  • Installed the latest CoreOS ( i.e fedora image ) version. Instead of using 37.20230401.3.0 version, Didn't face the postgres issue which we faced earlier.
  • Run the podman machine init command without image path, as it will installed the latest one.
podman machine init --disk-size 50 --memory 6144 --cpus 2

from podman.

hritik5102 avatar hritik5102 commented on May 27, 2024

Thanks, @glaydston for sharing the article 🙌🏻

from podman.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.