-
-
Notifications
You must be signed in to change notification settings - Fork 182
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
Freebsd 14.1 out with suspend resume #549
Comments
Can't see anything in the release notes. Could you please link to the info? EDIT:
|
I saw the options in the man page in FreeBSD 14.1, I assumed they were working without patching kernel with BHYVE_SNAPSHOT. Trying from command line, options are not recognized, so I guess it has not officially been added yet. For anyone that wants it working procedure is as follows:
|
Just checked the FreeBSD VMs, and the feature is still hidden behind a build flag on the |
yaroslav, checked your github repo, haven't tried it but I noticed it says on your hoster page OpenBSD etc not supported. I have had no issues at all running OpenBSD, NetBSD, home assistant etc. Here is link to blog to help you make your project better :) Good job on doing all that in GO :) Personally I would have done it on flet framework with a fastapi server, that way it would support all OS's including google tv :) Be nice to see interface on the TV, its 2024 :) Plus if you like working with python, when mojo hits full release status be easy transition to a language faster than C and rust. |
I know OpenBSD works under Bhyve, but it threw some bootloader errors when I first tried it in the UEFI mode. Unfortunately, fixing it is not a priority right now (and I personally haven't had a use-case for it, yet).
1st iteration of
So I've learned Go (and JS, eventually, for the front) and never looked back. The project is far from being ready for the prime time, but it's getting there (at least I've got few paying customers, who additionally sponsor my small dev lab). So in the end, I hope to create a virtualisation WebUI (+ backend + CLI, but hey, who is counting?) for the FreeBSD community. The one they want and like (hopefully? lol) 😅 |
@yaroslav-gwit that's pretty impressive! I mean I won't use it personally, but I can see this deployed for customers who want a GUI for management. Just to be clear, are you automating bhyve, or vm-bhyve under the hood? |
I used to automate the |
Can you still attach to vm's with tmux when they are started? Think that's one of biggest benefits of vm-bhyve along with command line interface. GUI is very impressive, not sure why you abandoned python, you could have always started a port and put all your dependencies there. Personally I would have done it in flet, doing flutter in python has many benefits, although no freebsd support in flutter means it would have had to been a web interface with something like fastapi on FreeBSD. I figure if done this way, when mojo becomes main stream in a few years, be easy switch to get same performance as rust. Benefits are would be easy to incorporate as an app afterwards as well as controlling your VMs with your remote on Google tv etc. Beautiful GUI though, very impressive, good job. |
This command will give you the serial console: hoster vm serial-console yourVmName It uses Tried Flutter (I was tempted by their promise of "one codebase for all your UIs/platforms"), but it had many shortcomings that I won't go into here. Long story short - it didn't fit the usecase. With Go, I now have multiple background daemon helpers (snapshot/replication scheduler, built-in DNS server so you don't have to deal with VM IPs - just use the VM name directly, VM process supervisor, HA/VM failover daemon, etc) that are simply much harder to code in Python (you'd have to use The desktop GUI would be relatively easy to port as a simplified app (no auth, no host groups/clusters, etc) within the Electron wrapper, once the WebUI is ready ofc. |
If you could recode the GUI in flet, to call your go backend API, I could help you port it to android, windows, web, Linux, FreeBSD, macOS and google TV, that would be nice and scalable with many clients. I do this with flet currently just using a fastapi backend to call. If each freebsd host had your GO daemon running as an API, we could interact with it with any client from any OS/device this way. Just a thought anyways, if you coded GO daemon to listen on a port, accept commands and return JSON responses, could separate the server and client logic, be easier to maintain. All OS's would have the client native, since FreeBSD doesn't support flutter natively, I have gotten around this by running a fastapi web interface without issues. Flet is really easy, doing flutter in Python, don't even have to worry about things like state management in flutter, could just pass your class config object to every page, worth looking into. For most part it is easy, when you'd start getting to point of making it a 2024 app adding TV support, can show you tricks to add focus support so remote control can move between elements, I think you have great design skills, would love to see everyone use it on every device they use :) And yes I understand your issues with python threads, problem is the GIL that won't get unlocked till next version and only in development. Mostly flet is using asyncio, which is perfect for GUI. When I've needed to run a long process in another thread I've had to start a subprocess and link that into asyncio, so your go version be better for that. |
Support needs to be added for bhyvectl --suspend and bhyve -r
The text was updated successfully, but these errors were encountered: