Coder Social home page Coder Social logo

bhyve-webadmin's People

Contributors

davies007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bhyve-webadmin's Issues

Mount points for VM storage

i am playing with the latest release an detected on a test machine that not all mountpoints are available.
Is there a limitation of 5 mountpoints or a name pattern which mountpoints are not available ?

For example on that machine the list of mountpoints contained /, /usr, /var, /tmp and /storage, but not /vm-storage.
I unmounted /storage, but /vm-storage was still not available in the list ...

I am a bit confused about what are valid names for the storage mountpoints ...

user cant create a vm

is it true that a user cant create a vm ? you must be an administrator ? meaning if i had customer A) he cant create a vm ubnless hes an admnin, if hes an admin he cant see everyones vms ?

the index '4' does not exist at bhyve/vm_core.class.c(342)

Array ((table : 0x0x809c33660)) {
(string) error -> (string) the index '4' does not exist
(string) count -> (integer) 1
(string) tstamp -> (integer) 1628963058
(string) full -> (string) the index '4' does not exist at bhyve/vm_core.class.c(342)
********************** VM/THREAD INTERNAL ERROR **********************
[*] Stack Traceback:
[0] bhyve/vm_core.class.c(342)::checkVM
[1] application/vmserver/api/api/classes/vmManager.class.c(353)::handle
[2] application/vmserver/api/api.c(79)::unknown
[3] utils/DProtocolServer.class.c(500)::dp_callback
[4] utils/connectionManager.class.c(269)::OnData
[5] utils/tcpServer.class.c(273)::dispatch
[6] utils/tcpServer.class.c(321)::poll
[7] utils/DProtocolServer.class.c(704)::poll
[8] application/vmserver/api/api.c(93)::thread_main
[9] utils/thread.class.c(266)::main


libc++ Unsupported relocation type after upgrade

When running the update script from p6 to p7 I encountered this error when the services tried to restart:

ld-elf.so.1: /usr/lib/libc++.so.1: Unsupported relocation type 60020 in non-PLT relocations

I'm on the the latest patch level of FreeBSD 13.

# freebsd-version
13.2-RELEASE-p5
# uname -a
FreeBSD test.genesis.net.au 13.2-RELEASE-p4 FreeBSD 13.2-RELEASE-p4 GENERIC amd64

I rebooted and the services started ok but I could not start / noVNC to any VM's from the web interface.

I ran the update script again and the services restarted without any errors.

Everything seems to be working normally now. Still thought it best to report anyway just in case the update process can be improved in any way. Please and thank you :)

parameter 1 has an invalid type 'integer' ; expected: 'string' at bhyve/vm_disk.class.c(238)

parameter 1 has an invalid type 'integer' ; expected: 'string' at bhyve/vm_disk.class.c(238)
********************** VM/THREAD INTERNAL ERROR **********************
[*] Stack Traceback:
[0] bhyve/vm_disk.class.c(238)::createDisk
[1] application/vmserver/api/api/classes/vmManager.class.c(173)::handle
[2] application/vmserver/api/api.c(79)::unknown
[3] utils/DProtocolServer.class.c(500)::dp_callback
[4] utils/connectionManager.class.c(269)::OnData
[5] utils/tcpServer.class.c(273)::dispatch
[6] utils/tcpServer.class.c(321)::poll
[7] utils/DProtocolServer.class.c(704)::poll
[8] application/vmserver/api/api.c(93)::thread_main
[9] utils/thread.class.c(266)::main


Listen queue overflow: 2 already in queue awaiting acceptance (1 occurrences)

In fact the Bhyve only accepts one and single incoming connection on VNC.
Therefore if there is more than one then the FreeBSD kernel signaling that the listen() queue overflow.

To mitigate this warning, we should take care about only one connection should be allowed on the same time at the backend side.

Conditional Race Winning between backend and helper

Backend and the Helper doing different tasks however they are the same binary.
There is possible that the backend wont start up properly and does not signal to start helper.

This is fixed, but not committed yet, the fix will include additional argument in rc.d start-up script.

the index '5901' does not exist at application/vmserver/rfb//handle.c(40)

Array ((table : 0x0x809c72d80)) {
(string) error -> (string) the index '5901' does not exist
(string) count -> (integer) 1
(string) tstamp -> (integer) 1631048257
(string) full -> (string) the index '5901' does not exist at application/vmserver/rfb//handle.c(40)
********************** VM/THREAD INTERNAL ERROR **********************
[*] Stack Traceback:
[0] application/vmserver/rfb//handle.c(40)::handle
[1] utils/connectionManager.class.c(269)::OnData
[2] utils/tcpServer.class.c(273)::dispatch
[3] utils/tcpServer.class.c(321)::poll
[4] application/vmserver/rfb/rfb.c(61)::thread_main
[5] utils/thread.class.c(266)::main


parameter 1 has an invalid type 'integer' ; expected: 'string' at bhyve/vm_disk.class.c(238)

Array ((table : 0x0x809c95200)) {
(string) error -> (string) parameter 1 has an invalid type 'integer' ; expected: 'string'
(string) count -> (integer) 1
(string) tstamp -> (integer) 1631616418
(string) full -> (string) parameter 1 has an invalid type 'integer' ; expected: 'string' at bhyve/vm_disk.class.c(238)
********************** VM/THREAD INTERNAL ERROR **********************
[*] Stack Traceback:
[0] bhyve/vm_disk.class.c(238)::createDisk
[1] application/vmserver/api/api/classes/vmManager.class.c(173)::handle
[2] application/vmserver/api/api.c(79)::unknown
[3] utils/DProtocolServer.class.c(500)::dp_callback
[4] utils/connectionManager.class.c(269)::OnData
[5] utils/tcpServer.class.c(273)::dispatch
[6] utils/tcpServer.class.c(321)::poll
[7] utils/DProtocolServer.class.c(704)::poll
[8] application/vmserver/api/api.c(93)::thread_main
[9] utils/thread.class.c(266)::main


Wrong SWAP Info

BVCP shows invalid SWAP usage and informations at some case.

[Feature Request] Add support for UEFI variables

Bhyve in FreeBSD 14 (possibly added to later 13.x releases) supports UEFI variables.

Adding support for this will avoid having to manually edit the boot configuration each time I setup a Linux (Debian in my case) VM.

Changing password for admin user does not work

I have a clean FreeBSD 14 installation where I have installed bhyve and bhyve-webadmin. When I logged in I was not able to change the password for admin. The issue is similar to this one: #22
In addition my root account is now locked out, even if I did not use it.
I managed to register two users, but none of them are able to log in to the web interface.
Do someone have a clue what might be wrong? I use the release version of bhyve-webadmin.

MidnightBSD host support?

Any possibility you would officially support MidnightBSD down the road as a host operating system? It also has bhyve and MidnightBSD 3.0 will be FreeBSD 12.x compatible.

Networking - New network creation.

Hi there, running release 1.2. When creating a new network, seems that PHY interfaces is not added directly after creation, hence I need to edit and select the phy interface again to make it part of the bridge. Also when removing a network, the bridge (in this case was bridge300) is not deleted, needing manual intervention.
Best regards and great software.

Typo on account page

Under changing password it says " Passwords are least 6 characters long, after succesfull operation you must re-login."

Should be successful, and the more correct way of saying it would be "Password must be at least 6 characters long, after successful operation you must re-login"

upgrade to 1.6 breaks frontend

I had a 1.4 install running well, and performed the upgrade to 1.6 following the instructions.

After upgrade to 1.6 backend and helper started correctly, but foreground did not.

foreground starts, records a pid in the pid file and crashes leaving the vms running, but uncontrollable. Tried rebooting, and various attempts at logging/ troubleshooting. Ended up downgrading to restore the service.

troubleshooting tips welcome, and I can try again.

Linux vm setup in infinite boot loop

I am trying to set up a linux vm with either ubuntu-20.04.3-live-server-amd64.iso or alpine-standard-3.15.0-x86.iso / alpine-virt-3.15.0-x86.iso / alpine-virt-3.15.0-x86_64.iso but none of those will even boot.
I tried to create the disks either with SATA/AHCI or Virt/IO and the network with either Intel Pro 100 or Virt/IO but every combination leads to an invinite boot loop.

Any ideas on this?

(I also have only empty charts in the "Systm information" menue and somehow my host disk is shown as 138.12GB although it only has 67GB)

otherwise very cool project!

[FEATURE REQUEST] Secure Boot and TPM (2.0, device passthrough or emulation)

newer Windows guests (like Win11) require TPM 2.0 and Secure boot, but currently it is possible to bypass the checks.

A Win11 ISO does not check for TPM and Secure Boot in a clean install from the ISO (at least not now, but maybe in the future),
when you install it in a VM, but when you upgrade from within Windows , these checks will be done even in a VM.
(Need to delete two specific files in the original iso folder "sources" to upgrade without TPM 2.0 and Secure boot ...)

First, of course, Bhyve needs to be able to emulate TPM if the host does not have any TPM devices ...
to integrate a new feature in the GUI ...

PCI Passthrough

Add feature through the webinterface to support PCI Devices directly attached on the VM, like GPU.

the index 'BUS' does not exist at bhyve/vm_core.class.c(199)

Array ((table : 0x0x809c8eda0)) {
(string) error -> (string) the index 'BUS' does not exist
(string) count -> (integer) 1
(string) tstamp -> (integer) 1631477524
(string) full -> (string) the index 'BUS' does not exist at bhyve/vm_core.class.c(199)
********************** VM/THREAD INTERNAL ERROR **********************
[*] Stack Traceback:
[0] bhyve/vm_core.class.c(199)::startVM
[1] application/vmserver/api/api/classes/vmManager.class.c(373)::handle
[2] application/vmserver/api/api.c(79)::unknown
[3] utils/DProtocolServer.class.c(500)::dp_callback
[4] utils/connectionManager.class.c(269)::OnData
[5] utils/tcpServer.class.c(273)::dispatch
[6] utils/tcpServer.class.c(321)::poll
[7] utils/DProtocolServer.class.c(704)::poll
[8] application/vmserver/api/api.c(93)::thread_main
[9] utils/thread.class.c(266)::main


the index '1' does not exist at application/vmserver/api/api/srvManager.class.c(62)

Array ((table : 0x0x809c99580)) {
(string) error -> (string) the index '1' does not exist
(string) count -> (integer) 1
(string) tstamp -> (integer) 1631051025
(string) full -> (string) the index '1' does not exist at application/vmserver/api/api/srvManager.class.c(62)
********************** VM/THREAD INTERNAL ERROR **********************
[*] Stack Traceback:
[0] application/vmserver/api/api/srvManager.class.c(62)::dispatch
[1] application/vmserver/api/api.c(79)::unknown
[2] utils/DProtocolServer.class.c(500)::dp_callback
[3] utils/connectionManager.class.c(269)::OnData
[4] utils/tcpServer.class.c(273)::dispatch
[5] utils/tcpServer.class.c(321)::poll
[6] utils/DProtocolServer.class.c(704)::poll
[7] application/vmserver/api/api.c(93)::thread_main
[8] utils/thread.class.c(266)::main


LPC, Serial Port redirection

Would be nice if we have a COM Serial port redirection over network.
So I mean BVCP could open a serial port and start a TCP listener or TCP reverse connection bound with VM.

Add Storage - Mounted Devices not showing up in list?

Hey is there any specific way that storage devices have to be mounted for BVCP to see them? I am currently trying to add a disk for storage but I cannot add it on the BVCP webpage even though it is mounted on the system and formatted.

The setup I have is a 200GB zvol attached over iSCSI, formatted as UFS on the BVCP system, I mounted it under /mnt/iscsi-storage1 and /media/iscsi-storage1 but neither show up as being able to add it as storage for BVCP.

1.9.8p6 does not install/run proper under FreeBSD 13.2

Wanted to give BVCP a try so deployed fresh 13.2R. install.sh script runs and finishes as per documentation providing portal password credentials. However, last output is "graceful shutdown" of the frontserver. The log shows:

[S] 2023-09-07 16:04:16 | Logger | *** START LOGGING ***
[N] 2023-09-07 16:04:16 | Daemon/Start | BVCP Bhyve WebUI Controller
[N] 2023-09-07 16:04:16 | bootCode | Started as Daemon Mode
[N] 2023-09-07 16:04:16 | Guardian | Create Process, PID: 1358
[N] 2023-09-07 16:04:16 | SW | VFS:BuiltIn Loaded
[N] 2023-09-07 16:04:16 | ThreadPool | 10/10 Threads initialised
[N] 2023-09-07 16:04:16 | LVM::MAIN | Initialising ..
[N] 2023-09-07 16:04:16 | application/vmclient/main.c | Initialising BVCP Application
[N] 2023-09-07 16:04:16 | application/vmclient/main.c | Using configuration file: /var/lib/nPulse/BVCP/bvcp.conf
[N] 2023-09-07 16:04:16 | application/vmclient/main.c | SSL Certificate Store Loaded
[N] 2023-09-07 16:04:16 | application/vmclient/main.c | Re-Load SSL Certificates Successfull
[N] 2023-09-07 16:04:16 | application/vmclient/main.c | Securing environment before we opening for connections ..
[N] 2023-09-07 16:04:18 | application/vmclient/main.c | Starting Software ...
[E] 2023-09-07 16:04:18 | application/vmclient/main.c | No configuration for authentication node!
[N] 2023-09-07 16:04:18 | SW | Program exited gracefully...

So it complains that there is no authentication node, probably something simple but couldn't find any docu how that is configured... to bad.

Validation of VM name (and other details)

Related to #44, it is currently possible to create a VM without a name.

When you do so, the resulting VM appears in the list of VMs (Dashboard and Virtual Machines pages), but clicking on VM in the Dashboard just takes you to the Virtual Machines page and the settings button goes nowhere. It's not possible to delete the VM from within the UI.

Untitled

I removed the created VM from machines entry in the database.

Password change not working

Whatever combination of small letters, capital letters, digits and everything
you can enter with the keyboard i try in the "change password" account settings i always receive the message
"password does not meet the requirements".

I usually use at least ten characters and usually any (or at least three) of the character types mentioned above.

i even tried to change just one single character of the created "admin" Password
during setup, but even this is rejected.

I could not find any hint for "the requirements". What am i doing wrong ? :-|

change ISO image

So the GUI allows that to change ISO images but does not work.

No sources, license, or port

Is there a particular reason you chose to distribute prebuilt binaries instead of sources + license? It seems like a really nice new project, but fetching prebuilt binaries is the least-preferred way of installing things in FreeBSD. Might instead I suggest and offer help getting a port built and added to the tree? It's typically a pretty simple process and it's well documented here: https://docs.freebsd.org/en/books/porters-handbook/

`Bug`: Missing `ARM64` (`AARCH64`) support

General

Currently the shipped binaries of vmm are only for amd64 (x86_64) based systems:

% file vmm 
vmm: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 12.2, FreeBSD-style, stripped

This means, that the current state of the project lacks a support of ARM64 (AARCH64) based hardware systems (e.g. Raspberry but also Apple Silicon based ones).

Task

  • Prep tasks for bhyvearm64

Networking Issues

There is some cirumstances when the network interfaces wont pulled up.
There are partial fix to address this issue and a New Button to reload network config.

Not comitted yet.

MTU on tap interface is not adjusted

when the physical interface has a mtu != 1500 (9184 in my case) the generated bridge inherits that mtu, but adding the tap interface to the bridge fails, as it has a mtu of 1500. manually adjusting the mtu of the tap interface and adding it to the bridge works.

Jails Support

Hi,

just wanted to ask - do You plan to also support Jails in this web interface?

It would be great to have all these Jails and Bhyve VMs in one 'view' with resources and rctl(8) limits for Jails etc.

Regards,
vermaden

NoVNC Console - Stuck on 'Connecting...'?

So I created new VM, started it up, but NoVNC is stuck on Connecting when I try to launch the console. BVCP says that it is running in web interface so not entirely certain what the issue is.

This is on a FreeBSD 13.0 AMD64 host with FreeBSD 13.0 AMD64 in the VM.

VM name missing from dashboard

Clean install of BVCP 1.9.8-p8. VM names are missing from the dashboard. When I click on "vm /", I am taken to the VM with the correct name "vm / freebsd14builder".

missing

FreeBSD 14.0-RELEASE-p3 amd64

Windows 10 VM - setup reboots vm with virtio disk

I tried to deploy to windows virtual Machines as described in ==> https://bhyve.npulse.net/deploy_windows <==.
I used 21H2 (19044.1266 ISO to be precise) and the (latest ?) Virtio ISO linked in the top of the manual.

First i attached the virtual system disk as described on VirtIO, but when windows setup loads the driver, the VM
reboots immediately.

With the AHCI Option for the disk the windows installation worked perfect without any issues.

My FreeBSD System is 14.0-current if that matters for this issue.

Networking - SRIOV

Hi, it will be great if SRIOV interfaces and Virtual functions can be managed and mapped to VM from the UI itself, without needing to drop into FreeBSD CLI.

VM Disk wont deleted if the stat is not 'detached'

There are many security fence in the software to avoid self-destroy or delete/resize opreations.
In some circumstances the software does not unlink() or truncate() on the filesystem, however it reported to succeeded.

This is fixed but not committed yet, now the system will destroy/resize the Disk image when the virtual machine is powered off and not attached, or when VM powered on, but the disk is unused.

UTC Time Issue, Bhyve -u

There was an issue with localtime on the VMs, the time is always 2 hours ahead.
Bhyve required to pass -u argument to tell the time is UTC, Im not sure about everyone needs it, I let it able to switch the option on/off in the webUI.

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.