![]() This patch introduces a new microversion to identify services by uuid instead of id, to ensure uniqueness across cells. GET /os-services returns uuid in the id field, and uuid must be provided to delete a service with DELETE /os-services/{service_uuid}. The old PUT /os-services/* APIs are now capped and replaced with a new PUT /os-services/{service_uuid} which takes a uuid path parameter to uniquely identify the service to update. It also restricts updates to nova-compute services only, since disabling or forcing-down a non-compute service like nova-scheduler doesn't make sense as it doesn't do anything. The new update() method in this microversion also avoids trying to re-use the existing private action methods like _enable and _disable since those are predicated on looking up the service by host/binary, are confusing to follow for code flow, and just don't really make sense with a pure PUT resource update method. Part of blueprint service-hyper-uuid-in-api Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com> Change-Id: I45494a4df7ee4454edb3ef8e7c5817d8c4e9e5ad |
||
---|---|---|
.. | ||
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.