-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
problem
I am testing the in-built Proxmox orchestrator extension in Apache CloudStack 4.22.0.0.
My Proxmox hosts are added successfully and appear Up/Enabled in CloudStack.
I can also authenticate to the Proxmox API successfully from the CloudStack management server using the documented token test.
CloudStack docs also note that extension-backed hosts report zero CPU and memory capacity by design, so the 0 CPU / 0 memory shown in the UI is expected and not the main issue.
However, adding Primary Storage to the Proxmox cluster fails consistently with:
Failed to add data store: Can not create storage pool through host Host {...}
due to Exit code: 1, Output:
{"error":"Missing required fields: url user token secret node"}
Because primary storage never reaches the Up state, subsequent VM deployments fail with:
No destination found for a deployment
This aligns with CloudStack not having usable primary storage for the cluster. The CloudStack docs describe primary storage as required storage used for VM and disk placement, and the Proxmox extension docs describe the built-in Proxmox extension, host configuration details, and token validation flow.
I also found what appears to be a logic issue in the shipped Proxmox extension script:
/usr/share/cloudstack-management/extensions/Proxmox/proxmox.sh
The script globally validates required fields inside parse_json() before operation-specific logic runs. Initially it required:
check_required_fields vm_internal_name url user token secret node
which caused createStoragePool to fail because vm_internal_name is a VM field, not a storage-pool field. After patching that line to remove vm_internal_name, the error still remains as:
{"error":"Missing required fields: url user token secret node"}
This suggests the createStoragePool payload is not receiving host/extension configuration details, or the built-in Proxmox extension does not correctly support the primary storage path in this version.
There is already a related upstream issue about Proxmox VMs in CloudStack 4.22 not being able to acquire additional disks because primary storage is not available, which may be related. of your problem
versions
Versions
- Apache CloudStack: 4.22.0.0
- Proxmox VE: 9.0.3
- CloudStack management server OS: Ubuntu 24.04.4 LTS
- Kernel on management server: 6.8.0-101-generic
- Proxmox extension: built-in Proxmox orchestrator extension shipped with CloudStack 4.22.0.0
- Primary storage backend tested: NFS shared storage
Infra:
- Infrastructure / Setup
- CloudStack management server deployed on Ubuntu 24
- CloudStack using built-in Proxmox orchestrator extension
- Proxmox cluster with 3 nodes added as external/orchestrator-backed hosts, proxmox cluster has a shared FC Storage
- NFS server deployed separately as a VM, reachable from both CloudStack and Proxmox
- Shared NFS export:
- Server: 10.11.101.130
- Export path: /srv/cloudstack-primary
- Proxmox API token authentication validated from the CloudStack management server using the documented curl command and returned valid JSON from /api2/json/version
- NFS export is reachable and visible via showmount -e
- NFS storage was also added successfully on the Proxmox side
The steps to reproduce the bug
Steps to reproduce
Install Apache CloudStack 4.22.0.0.
Enable/use the built-in Proxmox orchestrator extension.
Add Proxmox hosts with configuration details:
url
user
token
secret
node
network_bridge
Confirm hosts show Up/Enabled in CloudStack.
Validate Proxmox API token from the CloudStack management server using:
export PVE_TOKEN='root@pam!='
curl -s -k -H "Authorization: PVEAPIToken=$PVE_TOKEN" https://<PROXMOX_URL>:8006/api2/json/version | jq
Create an NFS export and verify it is reachable.
In CloudStack UI, go to Primary Storage and try to add NFS primary storage to the Proxmox cluster:
Protocol: nfs
Server: 10.11.101.130
Path: /srv/cloudstack-primary
Observe failure:
{"error":"Missing required fields: url user token secret node"}
Attempt to deploy a VM afterward.
Observe deployment failure:
No destination found for a deployment
Relevant observations
Hosts linked to the Proxmox extension show 0 CPU / 0 memory in CloudStack, which matches documented behavior for orchestrator extension-backed hosts.
Proxmox API auth is working.
NFS connectivity is working.
Primary storage never becomes Up in CloudStack.
management-server.log contains:
Failed to add data store: Can not create storage pool through host Host {...}
due to Exit code: 1, Output: {"error":"Missing required fields: url user token secret node"}
management-server.log also shows:
Skip capacity scan as there is no Primary Storage in 'Up' state
Relevant script snippet
From:
/usr/share/cloudstack-management/extensions/Proxmox/proxmox.sh
parse_json() {
...
url="${host_url:-$extension_url}"
user="${host_user:-$extension_user}"
token="${host_token:-$extension_token}"
secret="${host_secret:-$extension_secret}"
check_required_fields url user token secret node
}
This still fails during createStoragePool, which suggests the payload for that action may not include the expected externaldetails.host / externaldetails.extension data.z
What to do about it?
What to do about it?
Please confirm whether:
- createStoragePool is currently supported for the built-in Proxmox extension in 4.22.0.0
- the createStoragePool payload is expected to contain host/extension configuration details
- this is a known issue in 4.22.0.0 and whether it is fixed in a later 4.22.x release
- This may be related to existing Proxmox primary storage issues in the 4.22 line.
Screenshots:
Primary Storage add dialog and error toast
curl API key

Metadata
Metadata
Assignees
Labels
Type
Projects
Status