No VMs Displayed When 'View VMs in All Tenants' Is Enabled
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:
{
"computeFault": {
"code": 500,
"message": "Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.<br><class 'KeyError'>"
}
}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 - till 2025.8-92
Self-Hosted Private Cloud Director Virtualization - till 2025.8-92
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 and improvements have been made starting with v2025.8-112 and above versions.
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:
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.
Last updated
