
Title
Page icon
Create new category
Edit page index title
Edit category
Edit link
No VMs Displayed When 'View VMs in All Tenants' Is Enabled
Problem
When the “View VMs in all Tenants” option is enabled in the PCD UI, no VMs are displayed, and the associated API call fails with the following error:
Users could search and view specific VMs by name. However, when the “View VMs in all Tenants” option is disabled, VMs under the current tenant are displayed correctly.
CLI worked as expected for all-tenant queries (openstack server list --all-projects).
Environment
Private Cloud Director Virtualization - v2025.4 and Higher
Self-Hosted Private Cloud Director Virtualization - v2025.4 and Higher
Compute API
Cause
A corrupted instance remained in the Compute database (nova-DB) due to a failure during VM provisioning (e.g., quota exceeded).
The instance record was left in an incomplete or
ERRORstate.The corresponding request specification was missing from
nova_api.request_specs.When Nova attempted to fetch all VMs across tenants, it raised a
KeyError, resulting in a500error.
This behaviour is noted as PCD-4177 for future improvement.
Diagnostics
Error logs from the
nova-api-osapipod exposed aKeyErrorinvolving a specific instance UUID, indicating corruption or missing data for that instance. Example log snippet:
Checking the
novadatabase revealed the corrupted instance still present withvm_state=errorandpower_state=NOSTATE.
Querying the
request_specstable in thenova_apidatabase for the same instance UUID returned no results, confirming a missing request spec entry:
The above commands are applicable only to Self-Hosted PCD-V environments. For SaaS environments, try deleting the VM that entered the "Error" state during creation, or reach out to the Platform9 support team for further assistance.
Check VM status using below command :
No event history for the VM, which confirms the VM entered the "Error" state during the creation process:
Resolution
The corrupted VM deleted using below command:
This restored normal functionality for both the UI and the API, allowing full visibility of VMs across tenant boundaries.
Validation
Verified UI no longer shows blank list when “View VMs in All Tenants” is enabled.
Cross-tenant VM visibility works as expected.
No further 500 errors observed in related logs.
API calls return valid responses without errors.