XCP-ng Integration
PegaProx supports XCP-ng / Xen hypervisor pools alongside Proxmox clusters. Connect XCP-ng pools via the XAPI XML-RPC interface and manage them from the same dashboard.
Tech Preview - XCP-ng support is functional but some features may be limited or subject to change. Feedback welcome via GitHub Issues.
Adding an XCP-ng Pool
-
Go to Settings → Clusters → Add Cluster and select the XCP-ng tab
-
Enter the pool master IP/hostname, username (usually
root), and password -
PegaProx connects via XAPI and discovers all hosts and VMs in the pool
Supported Features
VM Power Actions
Start, stop, shutdown, reboot, suspend, and resume VMs. Force-stop supported for unresponsive guests.
VNC Console
Browser-based remote console via XAPI RFB protocol. Works through the same noVNC viewer as Proxmox.
Disk Management
Add, resize (grow), remove, and move virtual disks between storage repositories.
Network Management
Add, update, and remove virtual network interfaces. Supports bridge, bond, and VLAN networks.
CD-ROM / ISO
Mount and unmount ISO images from XCP-ng storage repositories.
Maintenance Mode
Enter and exit maintenance mode with automatic VM evacuation to other pool hosts.
Requirements
- XCP-ng 8.2 or newer
XenAPI >= 23.14.0Python package (included in requirements.txt)- XAPI access (port 443) from PegaProx to the pool master
Permissions
XCP-ng uses a separate permission set prefixed with xapi.*. Assign these via Settings → Users → Permissions:
| Permission | Description |
|---|---|
xapi.vm.view |
View VMs and console access |
xapi.vm.power |
Start, stop, reboot, suspend/resume |
xapi.vm.config |
Edit VM configuration (disks, NICs, CD-ROM) |
xapi.vm.snapshot |
Create and manage snapshots |
xapi.storage.view |
View storage repositories and disk utilization |
xapi.vm.create |
Create VMs from templates |
xapi.vm.config |
Modify XCP-ng VM configuration |
xapi.vm.delete |
Delete XCP-ng VMs |
xapi.vm.clone |
Clone XCP-ng VMs |
xapi.vm.migrate |
Live migrate VMs within pool |
xapi.host.view |
View host details, metrics, PIFs |
xapi.network.view |
View networks, VIFs, and PIF configurations |
xapi.pool.manage |
Manage pool-level settings and HA configuration |
xapi.template.view |
View available VM templates |
xapi.template.manage |
Create, modify, and delete VM templates |
Additional Features (v0.9.2)
RRD Metrics
Real-time CPU, memory, disk I/O, and network graphs from XCP-ng hosts via the RRD interface. No additional agents required.
Guest IP Detection
When xe-guest-utilities is installed, PegaProx automatically displays guest IP addresses on VM cards. Both IPv4 and IPv6.
Pool HA Status
Monitor pool High Availability status, tolerated host failures, and protected VMs directly in the dashboard.
PIF Management
View physical network interfaces with link status, VLAN tags, IP configuration, and bond membership per host.
Template VM Creation
Create new VMs from built-in or custom templates. Customize CPU, memory, disks, and NICs before provisioning.
Live Migration
Move running VMs between hosts within a pool with zero downtime. Requires shared storage or storage migration.
Migration to another pool (from 1.3)
A VM can be migrated to another XCP-ng pool that is registered in PegaProx. Pick the target pool; PegaProx connects to it with that pool's own address, credentials and TLS setting. A target address typed into the request is no longer accepted, and the migration needs xapi.vm.migrate. API clients send target_cluster (the registered pool) instead of target_endpoint.
Rolling updates (from 1.3)
Rolling updates on XCP-ng pools run through all hosts again (a 1.2.0 regression stopped them at the first host). The template and anti-affinity options of Proxmox rolling updates are not offered for XCP-ng.