Skip to content

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

  1. Go to Settings → Clusters → Add Cluster and select the XCP-ng tab

  2. Enter the pool master IP/hostname, username (usually root), and password

  3. 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.0 Python 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.