nova/nova/tests/functional/api_sample_tests
Lucian Petrut 70b4cdce68 Fix os-simple-tenant-usage result order
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 afc3a16ce3)
(cherry picked from commit 133b194ba0)
2019-01-22 18:09:21 +01:00
..
api_samples Fix os-simple-tenant-usage result order 2019-01-22 18:09:21 +01:00
README.rst add api-samples tox target 2015-12-03 22:43:26 +00:00
__init__.py Move legacy v2 api smaple tests 2015-08-15 12:30:20 +10:00
api_sample_base.py Fix os-simple-tenant-usage result order 2019-01-22 18:09:21 +01:00
test_admin_actions.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_admin_password.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_agents.py api-ref: Example verification for os-agents.inc 2016-06-27 21:29:26 +09:00
test_aggregates.py Return uuid attribute for aggregates 2017-01-05 14:32:43 -05:00
test_assisted_volume_snapshots.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_attach_interfaces.py API support for tagged device attachment 2017-06-30 09:05:34 +03:00
test_availability_zone.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_baremetal_nodes.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_block_device_mapping_boot.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_cells.py Remove deprecated manager option in cells.py 2016-08-02 16:54:09 +00:00
test_console_auth_tokens.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_console_output.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_consoles.py Merge "tests: Replace use of CONF with monkey patching" 2017-01-24 12:03:07 +00:00
test_create_backup.py 2.45: Remove Location header from createImage and createBackup responses 2017-04-25 15:52:14 -04:00
test_deferred_delete.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_evacuate.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_extension_info.py policy: clean-up 2016-06-30 19:56:14 +00:00
test_fixed_ips.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_flavor_access.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_flavor_extraspecs.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_flavor_manage.py Add microversion to allow setting flavor description 2017-11-15 22:10:39 +00:00
test_flavors.py Add microversion to allow setting flavor description 2017-11-15 22:10:39 +00:00
test_floating_ip_dns.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_floating_ip_pools.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_floating_ips.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_floating_ips_bulk.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_fping.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_hide_server_addresses.py conf: Move api options to a group 2016-11-25 16:32:31 -06:00
test_hosts.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_hypervisors.py Proper error handling by _ensure_resource_provider 2017-11-30 18:30:49 +00:00
test_images.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_instance_actions.py Add pagination and changes-since for instance-actions 2017-12-14 07:42:17 +00:00
test_instance_usage_audit_log.py Fix invalid import order 2016-07-04 11:23:52 +05:30
test_keypairs.py Replace uuid4() with uuidsentinel 2016-10-05 18:27:50 +05:30
test_limits.py Deprecate file injection 2017-12-12 09:22:21 -05:00
test_lock_server.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_migrate_server.py Enable cold migration with target host(2/2) 2017-11-29 20:48:16 -05:00
test_migrations.py Add pagination and Changes-since filter support for os-migrations. 2018-01-10 14:02:53 -05:00
test_multinic.py Fix functional tests for USE_NEUTRON 2017-12-21 19:11:46 -05:00
test_multiple_create.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_networks.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_networks_associate.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_pause_server.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_preserve_ephemeral_rebuild.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_quota_classes.py Deprecate file injection 2017-12-12 09:22:21 -05:00
test_quota_sets.py Deprecate file injection 2017-12-12 09:22:21 -05:00
test_remote_consoles.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_rescue.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_security_group_default_rules.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_security_groups.py Fix functional tests for USE_NEUTRON 2017-12-21 19:11:46 -05:00
test_server_diagnostics.py Standardization of VM diagnostics info API. 2017-06-05 07:45:51 +00:00
test_server_external_events.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_server_groups.py Remove unused code 2016-09-23 09:42:39 +00:00
test_server_metadata.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_server_migrations.py Add pagination and Changes-since filter support for os-migrations. 2018-01-10 14:02:53 -05:00
test_server_password.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_server_tags.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_servers.py Updated common create server sample request because of microversion 2.57 2017-12-14 14:54:31 +08:00
test_servers_ips.py Move config options from nova/api directory (5) 2016-05-17 13:07:47 +00:00
test_services.py Cleanup RP and HM records while deleting a compute service. 2018-04-23 18:54:54 +02:00
test_shelve.py Fixes to get all functional tests working on py35 2017-01-14 13:06:56 -05:00
test_simple_tenant_usage.py Fix os-simple-tenant-usage result order 2019-01-22 18:09:21 +01:00
test_suspend_server.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_tenant_networks.py Count networks to check quota 2017-06-19 21:51:46 +00:00
test_versions.py parametrize max_api_version in tests 2016-02-05 18:54:58 -05:00
test_virtual_interfaces.py Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
test_volumes.py Fix invalid UUIDs in remaining tests 2018-01-30 17:15:03 +00:00

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.