133b194ba0
nova usage-list can return incorrect results, having resources counted
twice. This only occurs when using the 2.40 microversion or later.
This microversion introduced pagination, which doesn't work properly.
Nova API will sort the instances using the tenant id and instance uuid,
but 'os-simple-tenant-usage' will not preserve the order when returning
the results.
For this reason, subsequent API calls made by the client will use the
wrong marker (which is supposed to be the last instance id), ending
up counting the same instances twice.
Change-Id: I6c7a67b23ec49aa207c33c38580acd834bb27e3c
Closes-Bug: #1796689
(cherry picked from commit
|
||
---|---|---|
.. | ||
api_samples | ||
README.rst | ||
__init__.py | ||
api_sample_base.py | ||
test_admin_actions.py | ||
test_admin_password.py | ||
test_agents.py | ||
test_aggregates.py | ||
test_assisted_volume_snapshots.py | ||
test_attach_interfaces.py | ||
test_availability_zone.py | ||
test_baremetal_nodes.py | ||
test_block_device_mapping_boot.py | ||
test_cells.py | ||
test_console_auth_tokens.py | ||
test_console_output.py | ||
test_consoles.py | ||
test_create_backup.py | ||
test_deferred_delete.py | ||
test_evacuate.py | ||
test_extension_info.py | ||
test_fixed_ips.py | ||
test_flavor_access.py | ||
test_flavor_extraspecs.py | ||
test_flavor_manage.py | ||
test_flavors.py | ||
test_floating_ip_dns.py | ||
test_floating_ip_pools.py | ||
test_floating_ips.py | ||
test_floating_ips_bulk.py | ||
test_fping.py | ||
test_hide_server_addresses.py | ||
test_hosts.py | ||
test_hypervisors.py | ||
test_images.py | ||
test_instance_actions.py | ||
test_instance_usage_audit_log.py | ||
test_keypairs.py | ||
test_limits.py | ||
test_lock_server.py | ||
test_migrate_server.py | ||
test_migrations.py | ||
test_multinic.py | ||
test_multiple_create.py | ||
test_networks.py | ||
test_networks_associate.py | ||
test_pause_server.py | ||
test_preserve_ephemeral_rebuild.py | ||
test_quota_classes.py | ||
test_quota_sets.py | ||
test_remote_consoles.py | ||
test_rescue.py | ||
test_security_group_default_rules.py | ||
test_security_groups.py | ||
test_server_diagnostics.py | ||
test_server_external_events.py | ||
test_server_groups.py | ||
test_server_metadata.py | ||
test_server_migrations.py | ||
test_server_password.py | ||
test_server_tags.py | ||
test_servers.py | ||
test_servers_ips.py | ||
test_services.py | ||
test_shelve.py | ||
test_simple_tenant_usage.py | ||
test_suspend_server.py | ||
test_tenant_networks.py | ||
test_versions.py | ||
test_virtual_interfaces.py | ||
test_volumes.py |
README.rst
Api Samples
This part of the tree contains templates for API samples. The documentation in doc/api_samples is completely autogenerated from the tests in this directory.
To add a new api sample, add tests for the common passing and failing cases in this directory for your extension, and modify test_samples.py for your tests.
Then run the following command:
tox -e api-samples
Which will create the files on doc/api_samples.
If new tests are added or the .tpl files are changed due to bug fixes, the samples must be regenerated so they are in sync with the templates, as there is an additional test which reloads the documentation and ensures that it's in sync.
Debugging sample generation
If a .tpl is changed, its matching .json must be removed else the samples won't be generated. If an entirely new extension is added, a directory for it must be created before its samples will be generated.