api: Address issues with hypervisors APIs

* Address an off-by-one error: the cpu_info field was modified in v2.28,
  not v2.27,
* Correct the api-ref to indicate that the 'servers' field is not
  actually required and will be missing if '?with_servers=false', while
  the 'name' and 'uuid' fields of servers entries *are* required.
* Clarify a comment about the above in the schemas.
* Uncouple the '_hypervisor_response' and '_hypervisor_detail_response'
  helper schemas. The minor increase in lines of code is worth it for
  the decrease in complexity.
* Add the 'host_ip', 'hypervisor_type', and 'hypervisor_version' fields
  to the list of required fields for "detail"-style responses (show and
  detailed list).
* Make the 'current_workload', 'disk_available_least', 'free_disk_gb',
  'free_ram_mb', 'host_ip' and 'running_vms' fields of the hypervisor
  "detail"-style responses nullable, and the 'current_workload',
  'disk_available_least', 'free_disk_gb', 'free_ram_mb' and
  'running_vms' fields of the deprecated statistics API nullable.

Change-Id: Ibe55b44e65fe17141c63cceae8a003816ffe4f23
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
Stephen Finucane
2025-05-26 13:26:38 +01:00
parent c918fcc587
commit a0af4648b5
3 changed files with 91 additions and 73 deletions
+5 -6
View File
@@ -3843,25 +3843,24 @@ hypervisor_os_diagnostics:
min_version: 2.48
hypervisor_servers:
description: |
A list of ``server`` objects.
This field has become mandatory in microversion 2.75. If no servers is on hypervisor
then empty list is returned.
A list of ``server`` objects. Before microversion 2.75, this field is only
returned if non-empty. From microversion 2.75, this field will always be
returned unless the ``with_servers`` query parameter is provided and is
set to ``false``.
in: body
required: true
required: false
type: array
min_version: 2.53
hypervisor_servers_name:
description: |
The server name.
in: body
required: false
type: string
min_version: 2.53
hypervisor_servers_uuid:
description: |
The server ID.
in: body
required: false
type: string
min_version: 2.53
hypervisor_service: