Proposal about Proxmox VE Compatibility for cnMaestro On-Premise


Proposal about Proxmox VE Compatibility for cnMaestro On-Premise

:round_pushpin: Context

Cambium Networks currently distributes cnMaestro On-Premise as an .OVA image, which works correctly on VirtualBox and VMware environments.
However, in Proxmox VE (KVM/QEMU) —a widely used platform for enterprise and ISP deployments— the .OVA file presents compatibility, stability, and startup issues that prevent cnMaestro from running reliably.


:gear: Tests Performed and Results

  1. Conversion from a working VirtualBox VM

    • A stable cnMaestro installation running under VirtualBox was exported, and its .vdi disk was converted to .qcow2 for import into Proxmox.

    • Although the conversion was successful and the virtual machine booted, the web interface failed to start, showing the message:

      Service Temporarily Unavailable!
      
      
  2. Manual extraction and setup from the .OVA file

    • Following the steps documented in the Cambium Community (reference guide), we:

      • Extracted the .ova package

      • Converted the .vmdk disk to .qcow2

      • Created a new Proxmox VM (SeaBIOS, VirtIO adapters, bridged network)

      • Restored an existing cnMaestro backup

    • The VM successfully booted once or twice and briefly allowed web access, but then failed again with the same:

      Service Temporarily Unavailable!
      
      
    • Logs indicated that internal services stopped responding properly after reboot.

  3. Nested VirtualBox inside Proxmox

    • As a last resort, a Linux VM was created in Proxmox, and VirtualBox was installed inside it to run the original cnMaestro .OVA image in a nested virtualization environment.

    • The outcome was the same: the cnMaestro web portal remained inaccessible, displaying Service Temporarily Unavailable! after a short period.


:bar_chart: Conclusion

After several deployment attempts, it is confirmed that the current .OVA image is not stable or fully compatible with Proxmox VE (KVM/QEMU), even after advanced conversion and configuration steps.


:light_bulb: Proposal for Cambium Networks

  1. Publish an official Proxmox/KVM-compatible image, provided in a native format such as:

    • .qcow2 (QEMU/KVM standard disk format), or

    • .raw (generic disk image format)

  2. Ensure the image includes:

    • Full VirtIO driver support (for network and disk)

    • Compatibility with both SeaBIOS and UEFI boot modes

    • A generic kernel optimized for KVM/QEMU environments

    • Flexible network configuration (bridge/NAT friendly)

  3. Advantages of this approach:

    • Enables direct installation on Proxmox VE without conversions

    • Improves system stability and I/O performance

    • Reduces deployment complexity and risk of service failure

    • Expands cnMaestro’s compatibility with one of the most widely adopted virtualization platforms among ISPs and system administrators


:white_check_mark: Request

Given that Proxmox VE has become a leading virtualization solution in many production environments, we respectfully request that Cambium Networks release an official cnMaestro On-Premise image in .qcow2 or .raw format for native compatibility with KVM-based hypervisors.

Is there an estimated timeline or roadmap for publishing such an image?

thank you

Hi @micampo - This looks like it might be an AVX issue - did you confirm you have support in the VM? If you run this on the proxmox host we can check for support:
cat /proc/cpuinfo | grep -q avx && echo "AVX support detected" || echo "no AVX support in CPU, not installable here"
You shouldnt need to use a virtualbox step at all - were you not able to run qm importovf.. from the files extracted from the .ova? If you share the errors from that too we can dig a bit.

1 Like

Hello

  1. As I mentioned in the text, one of the tests performed was decompressing the contents of the .ova file and then importing the files into PROMOX - this was unsuccessful.

  2. Regarding this command - cat /proc/cpuinfo | grep -q avx && echo “AVX support detected” || echo “no AVX support in CPU, not installable here” - as I mentioned in the text - a link was used for the migration process that mentions this same command, but the process didn’t work either. (Installing cnMaestro on Proxmox)

  3. I’ve already deleted all the virtual machines. Currently, I have a Linux virtual machine in PROMOX, and on top of that Linux, I have VirtualBox, and on top of that VirtualBox, I have cnMaestro… it’s the only survivor that I haven’t deleted yet (the others have already been removed). If it’s helpful to run any command on it, please let me know… because cnMaestro isn’t working there either.

Hi @micampo lets start with exact errors, we can’t really do much with “this was unsuccessful”. Lets start at #1. You attempted to decompress the .ova file. What exact command did you run, and what was the exact output of that command that showed you it was unsuccessful?

PS You seem to be using something like chatgpt for this. I would try to do this without LLM and just follow the steps: this part is hallucination, and does not exist in the guide you referenced:
Manual extraction and setup from the .OVA file

  • …

    • Converted the .vmdk disk to .qcow2

    • …

(post deleted by author)

Okay, I understand. I’ll try to explain it better:

Points 1 and 2 refer to following the entire process exactly as explained in the link:

Everything was done, the .ovf files were imported… the virtual machine starts in all the scenarios explained, but cnMaestro doesn’t work; it doesn’t load. The message:

Service Temporarily Unavailable!

That’s what I mean.

Chatgpt was used for support, so I don’t see anything wrong with using it correctly.

What I mean by converting the .vdi files to qcow2 is that—on my own initiative (since I wasn’t getting positive results). I took the initiative to convert the .vdi files to .qcow2 to try and get cnMaestro working. I know there’s no guide that mentions this, but I did it on my own initiative, and it didn’t work either. .vdi files have worked for me in other processes on other machines. I thought it might work, but it didn’t, and again, it was my own initiative. But I also get the message:

Service Temporarily Unavailable!

Is that clearer now?

I used chatgpt to help me write the explanation of all the processes I’ve tried. As indicated, I’ve tried three different ways, and none of them work with cnMaestro. In all the processes, the virtual machines start, but cnMaestro doesn’t load.