From 50c4033ac29268dc3f4be9147bf23eef11cc6546 Mon Sep 17 00:00:00 2001 From: Pushkar Umaranikar Date: Mon, 29 Feb 2016 15:57:28 +0000 Subject: [PATCH] "nova list-extensions" not showing summary for all Change nova extensions API to show summary description for V2.1 API. Change-Id: Iefd087baddd65a52a20f1b98ae3efe22b3c5085c Closes-Bug: #1532098 --- .../extensions-list-resp-v21-compatible.json | 58 +++++----- .../extension-info/extensions-list-resp.json | 56 ++++----- nova/api/openstack/compute/extension_info.py | 106 +++++++++++++----- ...tensions-list-resp-v21-compatible.json.tpl | 58 +++++----- .../extensions-list-resp.json.tpl | 56 ++++----- .../openstack/compute/test_extension_info.py | 27 +++-- 6 files changed, 208 insertions(+), 153 deletions(-) diff --git a/doc/api_samples/extension-info/extensions-list-resp-v21-compatible.json b/doc/api_samples/extension-info/extensions-list-resp-v21-compatible.json index e1da6a0a0933..99b3ef360b19 100644 --- a/doc/api_samples/extension-info/extensions-list-resp-v21-compatible.json +++ b/doc/api_samples/extension-info/extensions-list-resp-v21-compatible.json @@ -34,7 +34,7 @@ }, { "alias": "OS-EXT-IPS", - "description": "", + "description": "Adds type parameter to the ip list.", "links": [], "name": "ExtendedIps", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -42,7 +42,7 @@ }, { "alias": "OS-EXT-IPS-MAC", - "description": "", + "description": "Adds mac address parameter to the ip list.", "links": [], "name": "ExtendedIpsMac", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -58,7 +58,7 @@ }, { "alias": "OS-EXT-STS", - "description": "", + "description": "Extended Status support.", "links": [], "name": "ExtendedStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -66,7 +66,7 @@ }, { "alias": "OS-EXT-VIF-NET", - "description": "", + "description": "Adds network id parameter to the virtual interface list.", "links": [], "name": "ExtendedVIFNet", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -74,7 +74,7 @@ }, { "alias": "OS-FLV-DISABLED", - "description": "", + "description": "Support to show the disabled status of a flavor.", "links": [], "name": "FlavorDisabled", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -82,7 +82,7 @@ }, { "alias": "OS-FLV-EXT-DATA", - "description": "", + "description": "Provide additional data for flavors.", "links": [], "name": "FlavorExtraData", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -170,7 +170,7 @@ }, { "alias": "os-baremetal-ext-status", - "description": "", + "description": "Add extended status in Baremetal Nodes v2 API.", "links": [], "name": "BareMetalExtStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -194,7 +194,7 @@ }, { "alias": "os-block-device-mapping-v2-boot", - "description": "", + "description": "Allow boot with the new BDM data format.", "links": [], "name": "BlockDeviceMappingV2Boot", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -202,7 +202,7 @@ }, { "alias": "os-cell-capacities", - "description": "", + "description": "Adding functionality to get cell capacities.", "links": [], "name": "CellCapacities", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -234,7 +234,7 @@ }, { "alias": "os-cloudpipe-update", - "description": "", + "description": "Adds the ability to set the vpn ip/port for cloudpipe instances.", "links": [], "name": "CloudpipeUpdate", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -282,7 +282,7 @@ }, { "alias": "os-create-server-ext", - "description": "", + "description": "Extended support to the Create Server v1.1 API.", "links": [], "name": "Createserverext", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -306,7 +306,7 @@ }, { "alias": "os-extended-evacuate-find-host", - "description": "", + "description": "Enables server evacuation without target host. Scheduler will select one to target.", "links": [], "name": "ExtendedEvacuateFindHost", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -314,7 +314,7 @@ }, { "alias": "os-extended-floating-ips", - "description": "", + "description": "Adds optional fixed_address to the add floating IP command.", "links": [], "name": "ExtendedFloatingIps", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -322,7 +322,7 @@ }, { "alias": "os-extended-hypervisors", - "description": "", + "description": "Extended hypervisors support.", "links": [], "name": "ExtendedHypervisors", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -330,7 +330,7 @@ }, { "alias": "os-extended-networks", - "description": "", + "description": "Adds additional fields to networks.", "links": [], "name": "ExtendedNetworks", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -338,7 +338,7 @@ }, { "alias": "os-extended-quotas", - "description": "", + "description": "Adds ability for admins to delete quota and optionally force the update Quota command.", "links": [], "name": "ExtendedQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -346,7 +346,7 @@ }, { "alias": "os-extended-rescue-with-image", - "description": "", + "description": "Allow the user to specify the image to use for rescue.", "links": [], "name": "ExtendedRescueWithImage", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -354,7 +354,7 @@ }, { "alias": "os-extended-services", - "description": "", + "description": "Extended services support.", "links": [], "name": "ExtendedServices", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -362,7 +362,7 @@ }, { "alias": "os-extended-services-delete", - "description": "", + "description": "Extended services deletion support.", "links": [], "name": "ExtendedServicesDelete", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -426,7 +426,7 @@ }, { "alias": "os-flavor-swap", - "description": "", + "description": "Support to show the swap status of a flavor.", "links": [], "name": "FlavorSwap", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -490,7 +490,7 @@ }, { "alias": "os-hypervisor-status", - "description": "", + "description": "Show hypervisor status.", "links": [], "name": "HypervisorStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -658,7 +658,7 @@ }, { "alias": "os-server-group-quotas", - "description": "", + "description": "Adds quota support to server groups.", "links": [], "name": "ServerGroupQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -674,7 +674,7 @@ }, { "alias": "os-server-list-multi-status", - "description": "", + "description": "Allow to filter the servers by a set of status values.", "links": [], "name": "ServerListMultiStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -690,7 +690,7 @@ }, { "alias": "os-server-sort-keys", - "description": "", + "description": "Add sorting support in get Server v2 API.", "links": [], "name": "ServerSortKeys", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -698,7 +698,7 @@ }, { "alias": "os-server-start-stop", - "description": "", + "description": "Start/Stop instance compute API support.", "links": [], "name": "ServerStartStop", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -754,7 +754,7 @@ }, { "alias": "os-used-limits-for-admin", - "description": "", + "description": "Provide data to admin on limited resources used by other tenants.", "links": [], "name": "UsedLimitsForAdmin", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -770,7 +770,7 @@ }, { "alias": "os-user-quotas", - "description": "", + "description": "Project user quota support.", "links": [], "name": "UserQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -786,7 +786,7 @@ }, { "alias": "os-volume-attachment-update", - "description": "", + "description": "Support for updating a volume attachment.", "links": [], "name": "VolumeAttachmentUpdate", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -801,4 +801,4 @@ "updated": "2014-12-03T00:00:00Z" } ] -} \ No newline at end of file +} diff --git a/doc/api_samples/extension-info/extensions-list-resp.json b/doc/api_samples/extension-info/extensions-list-resp.json index 751260d89f9b..81626d6e2167 100644 --- a/doc/api_samples/extension-info/extensions-list-resp.json +++ b/doc/api_samples/extension-info/extensions-list-resp.json @@ -34,7 +34,7 @@ }, { "alias": "OS-EXT-IPS", - "description": "", + "description": "Adds type parameter to the ip list.", "links": [], "name": "ExtendedIps", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -42,7 +42,7 @@ }, { "alias": "OS-EXT-IPS-MAC", - "description": "", + "description": "Adds mac address parameter to the ip list.", "links": [], "name": "ExtendedIpsMac", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -58,7 +58,7 @@ }, { "alias": "OS-EXT-STS", - "description": "", + "description": "Extended Status support.", "links": [], "name": "ExtendedStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -66,7 +66,7 @@ }, { "alias": "OS-FLV-DISABLED", - "description": "", + "description": "Support to show the disabled status of a flavor.", "links": [], "name": "FlavorDisabled", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -74,7 +74,7 @@ }, { "alias": "OS-FLV-EXT-DATA", - "description": "", + "description": "Provide additional data for flavors.", "links": [], "name": "FlavorExtraData", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -162,7 +162,7 @@ }, { "alias": "os-baremetal-ext-status", - "description": "", + "description": "Add extended status in Baremetal Nodes v2 API.", "links": [], "name": "BareMetalExtStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -186,7 +186,7 @@ }, { "alias": "os-block-device-mapping-v2-boot", - "description": "", + "description": "Allow boot with the new BDM data format.", "links": [], "name": "BlockDeviceMappingV2Boot", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -194,7 +194,7 @@ }, { "alias": "os-cell-capacities", - "description": "", + "description": "Adding functionality to get cell capacities.", "links": [], "name": "CellCapacities", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -226,7 +226,7 @@ }, { "alias": "os-cloudpipe-update", - "description": "", + "description": "Adds the ability to set the vpn ip/port for cloudpipe instances.", "links": [], "name": "CloudpipeUpdate", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -274,7 +274,7 @@ }, { "alias": "os-create-server-ext", - "description": "", + "description": "Extended support to the Create Server v1.1 API.", "links": [], "name": "Createserverext", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -298,7 +298,7 @@ }, { "alias": "os-extended-evacuate-find-host", - "description": "", + "description": "Enables server evacuation without target host. Scheduler will select one to target.", "links": [], "name": "ExtendedEvacuateFindHost", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -306,7 +306,7 @@ }, { "alias": "os-extended-floating-ips", - "description": "", + "description": "Adds optional fixed_address to the add floating IP command.", "links": [], "name": "ExtendedFloatingIps", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -314,7 +314,7 @@ }, { "alias": "os-extended-hypervisors", - "description": "", + "description": "Extended hypervisors support.", "links": [], "name": "ExtendedHypervisors", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -322,7 +322,7 @@ }, { "alias": "os-extended-networks", - "description": "", + "description": "Adds additional fields to networks.", "links": [], "name": "ExtendedNetworks", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -330,7 +330,7 @@ }, { "alias": "os-extended-quotas", - "description": "", + "description": "Adds ability for admins to delete quota and optionally force the update Quota command.", "links": [], "name": "ExtendedQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -338,7 +338,7 @@ }, { "alias": "os-extended-rescue-with-image", - "description": "", + "description": "Allow the user to specify the image to use for rescue.", "links": [], "name": "ExtendedRescueWithImage", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -346,7 +346,7 @@ }, { "alias": "os-extended-services", - "description": "", + "description": "Extended services support.", "links": [], "name": "ExtendedServices", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -354,7 +354,7 @@ }, { "alias": "os-extended-services-delete", - "description": "", + "description": "Extended services deletion support.", "links": [], "name": "ExtendedServicesDelete", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -418,7 +418,7 @@ }, { "alias": "os-flavor-swap", - "description": "", + "description": "Support to show the swap status of a flavor.", "links": [], "name": "FlavorSwap", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -482,7 +482,7 @@ }, { "alias": "os-hypervisor-status", - "description": "", + "description": "Show hypervisor status.", "links": [], "name": "HypervisorStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -650,7 +650,7 @@ }, { "alias": "os-server-group-quotas", - "description": "", + "description": "Adds quota support to server groups.", "links": [], "name": "ServerGroupQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -666,7 +666,7 @@ }, { "alias": "os-server-list-multi-status", - "description": "", + "description": "Allow to filter the servers by a set of status values.", "links": [], "name": "ServerListMultiStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -682,7 +682,7 @@ }, { "alias": "os-server-sort-keys", - "description": "", + "description": "Add sorting support in get Server v2 API.", "links": [], "name": "ServerSortKeys", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -690,7 +690,7 @@ }, { "alias": "os-server-start-stop", - "description": "", + "description": "Start/Stop instance compute API support.", "links": [], "name": "ServerStartStop", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -746,7 +746,7 @@ }, { "alias": "os-used-limits-for-admin", - "description": "", + "description": "Provide data to admin on limited resources used by other tenants.", "links": [], "name": "UsedLimitsForAdmin", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -762,7 +762,7 @@ }, { "alias": "os-user-quotas", - "description": "", + "description": "Project user quota support.", "links": [], "name": "UserQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -778,7 +778,7 @@ }, { "alias": "os-volume-attachment-update", - "description": "", + "description": "Support for updating a volume attachment.", "links": [], "name": "VolumeAttachmentUpdate", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -793,4 +793,4 @@ "updated": "2014-12-03T00:00:00Z" } ] -} \ No newline at end of file +} diff --git a/nova/api/openstack/compute/extension_info.py b/nova/api/openstack/compute/extension_info.py index 64d291db7dd4..bfd9271b14f5 100644 --- a/nova/api/openstack/compute/extension_info.py +++ b/nova/api/openstack/compute/extension_info.py @@ -31,50 +31,92 @@ authorize = extensions.os_compute_authorizer(ALIAS) # Having a v2.1 extension loaded can imply that several v2 extensions # should also appear to be loaded (although they no longer do in v2.1) v21_to_v2_extension_list_mapping = { - 'os-quota-sets': [{'name': 'UserQuotas', 'alias': 'os-user-quotas'}, + 'os-quota-sets': [{'name': 'UserQuotas', 'alias': 'os-user-quotas', + 'description': 'Project user quota support.'}, {'name': 'ExtendedQuotas', - 'alias': 'os-extended-quotas'}], - 'os-cells': [{'name': 'CellCapacities', 'alias': 'os-cell-capacities'}], + 'alias': 'os-extended-quotas', + 'description': ('Adds ability for admins to delete' + ' quota and optionally force the update Quota' + ' command.')}], + 'os-cells': [{'name': 'CellCapacities', 'alias': 'os-cell-capacities', + 'description': ('Adding functionality to get cell' + ' capacities.')}], 'os-baremetal-nodes': [{'name': 'BareMetalExtStatus', - 'alias': 'os-baremetal-ext-status'}], + 'alias': 'os-baremetal-ext-status', + 'description': ('Add extended status in' + ' Baremetal Nodes v2 API.')}], 'os-block-device-mapping': [{'name': 'BlockDeviceMappingV2Boot', - 'alias': 'os-block-device-mapping-v2-boot'}], + 'alias': 'os-block-device-mapping-v2-boot', + 'description': ('Allow boot with the new BDM' + ' data format.')}], 'os-cloudpipe': [{'name': 'CloudpipeUpdate', - 'alias': 'os-cloudpipe-update'}], - 'servers': [{'name': 'Createserverext', 'alias': 'os-create-server-ext'}, - {'name': 'ExtendedIpsMac', 'alias': 'OS-EXT-IPS-MAC'}, - {'name': 'ExtendedIps', 'alias': 'OS-EXT-IPS'}, + 'alias': 'os-cloudpipe-update', + 'description': ('Adds the ability to set the vpn' + ' ip/port for cloudpipe instances.')}], + 'servers': [{'name': 'Createserverext', 'alias': 'os-create-server-ext', + 'description': ('Extended support to the Create Server' + ' v1.1 API.')}, + {'name': 'ExtendedIpsMac', 'alias': 'OS-EXT-IPS-MAC', + 'description': 'Adds mac address parameter to the ip list.'}, + {'name': 'ExtendedIps', 'alias': 'OS-EXT-IPS', + 'description': 'Adds type parameter to the ip list.'}, {'name': 'ServerListMultiStatus', - 'alias': 'os-server-list-multi-status'}, - {'name': 'ServerSortKeys', 'alias': 'os-server-sort-keys'}, - {'name': 'ServerStartStop', 'alias': 'os-server-start-stop'}], - 'flavors': [{'name': 'FlavorDisabled', 'alias': 'OS-FLV-DISABLED'}, - {'name': 'FlavorExtraData', 'alias': 'OS-FLV-EXT-DATA'}, - {'name': 'FlavorSwap', 'alias': 'os-flavor-swap'}], + 'alias': 'os-server-list-multi-status', + 'description': ('Allow to filter the servers by a set of' + ' status values.')}, + {'name': 'ServerSortKeys', 'alias': 'os-server-sort-keys', + 'description': 'Add sorting support in get Server v2 API.'}, + {'name': 'ServerStartStop', 'alias': 'os-server-start-stop', + 'description': 'Start/Stop instance compute API support.'}], + 'flavors': [{'name': 'FlavorDisabled', 'alias': 'OS-FLV-DISABLED', + 'description': ('Support to show the disabled status' + ' of a flavor.')}, + {'name': 'FlavorExtraData', 'alias': 'OS-FLV-EXT-DATA', + 'description': 'Provide additional data for flavors.'}, + {'name': 'FlavorSwap', 'alias': 'os-flavor-swap', + 'description': ('Support to show the swap status of a' + ' flavor.')}], 'os-services': [{'name': 'ExtendedServicesDelete', - 'alias': 'os-extended-services-delete'}, + 'alias': 'os-extended-services-delete', + 'description': 'Extended services deletion support.'}, {'name': 'ExtendedServices', 'alias': - 'os-extended-services'}], + 'os-extended-services', + 'description': 'Extended services support.'}], 'os-evacuate': [{'name': 'ExtendedEvacuateFindHost', - 'alias': 'os-extended-evacuate-find-host'}], + 'alias': 'os-extended-evacuate-find-host', + 'description': ('Enables server evacuation without' + ' target host. Scheduler will select one to target.')}], 'os-floating-ips': [{'name': 'ExtendedFloatingIps', - 'alias': 'os-extended-floating-ips'}], + 'alias': 'os-extended-floating-ips', + 'description': ('Adds optional fixed_address to the add' + ' floating IP command.')}], 'os-hypervisors': [{'name': 'ExtendedHypervisors', - 'alias': 'os-extended-hypervisors'}, + 'alias': 'os-extended-hypervisors', + 'description': 'Extended hypervisors support.'}, {'name': 'HypervisorStatus', - 'alias': 'os-hypervisor-status'}], + 'alias': 'os-hypervisor-status', + 'description': 'Show hypervisor status.'}], 'os-networks': [{'name': 'ExtendedNetworks', - 'alias': 'os-extended-networks'}], + 'alias': 'os-extended-networks', + 'description': 'Adds additional fields to networks.'}], 'os-rescue': [{'name': 'ExtendedRescueWithImage', - 'alias': 'os-extended-rescue-with-image'}], + 'alias': 'os-extended-rescue-with-image', + 'description': ('Allow the user to specify the image to' + ' use for rescue.')}], 'os-extended-status': [{'name': 'ExtendedStatus', - 'alias': 'OS-EXT-STS'}], + 'alias': 'OS-EXT-STS', + 'description': 'Extended Status support.'}], 'os-used-limits': [{'name': 'UsedLimitsForAdmin', - 'alias': 'os-used-limits-for-admin'}], + 'alias': 'os-used-limits-for-admin', + 'description': ('Provide data to admin on limited' + ' resources used by other tenants.')}], 'os-volumes': [{'name': 'VolumeAttachmentUpdate', - 'alias': 'os-volume-attachment-update'}], + 'alias': 'os-volume-attachment-update', + 'description': ('Support for updating a volume' + ' attachment.')}], 'os-server-groups': [{'name': 'ServerGroupQuotas', - 'alias': 'os-server-group-quotas'}], + 'alias': 'os-server-group-quotas', + 'description': 'Adds quota support to server groups.'}], } # v2.1 plugins which should never appear in the v2 extension list @@ -147,9 +189,12 @@ class ExtensionInfoController(wsgi.Controller): def _add_vif_extension(self, discoverable_extensions): vif_extension = {} vif_extension_info = {'name': 'ExtendedVIFNet', - 'alias': 'OS-EXT-VIF-NET'} + 'alias': 'OS-EXT-VIF-NET', + 'description': 'Adds network id parameter' + ' to the virtual interface list.'} vif_extension[vif_extension_info["alias"]] = self._create_fake_ext( - vif_extension_info["name"], vif_extension_info["alias"]) + vif_extension_info["name"], vif_extension_info["alias"], + vif_extension_info["description"]) discoverable_extensions.update(vif_extension) def _get_extensions(self, context): @@ -178,7 +223,8 @@ class ExtensionInfoController(wsgi.Controller): if alias in v21_to_v2_extension_list_mapping: for extra_ext in v21_to_v2_extension_list_mapping[alias]: extra_exts[extra_ext["alias"]] = self._create_fake_ext( - extra_ext["name"], extra_ext["alias"]) + extra_ext["name"], extra_ext["alias"], + extra_ext["description"]) discoverable_extensions.update(extra_exts) # Suppress extensions which we don't want to see in v2 diff --git a/nova/tests/functional/api_sample_tests/api_samples/extension-info/extensions-list-resp-v21-compatible.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/extension-info/extensions-list-resp-v21-compatible.json.tpl index e1da6a0a0933..99b3ef360b19 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/extension-info/extensions-list-resp-v21-compatible.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/extension-info/extensions-list-resp-v21-compatible.json.tpl @@ -34,7 +34,7 @@ }, { "alias": "OS-EXT-IPS", - "description": "", + "description": "Adds type parameter to the ip list.", "links": [], "name": "ExtendedIps", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -42,7 +42,7 @@ }, { "alias": "OS-EXT-IPS-MAC", - "description": "", + "description": "Adds mac address parameter to the ip list.", "links": [], "name": "ExtendedIpsMac", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -58,7 +58,7 @@ }, { "alias": "OS-EXT-STS", - "description": "", + "description": "Extended Status support.", "links": [], "name": "ExtendedStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -66,7 +66,7 @@ }, { "alias": "OS-EXT-VIF-NET", - "description": "", + "description": "Adds network id parameter to the virtual interface list.", "links": [], "name": "ExtendedVIFNet", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -74,7 +74,7 @@ }, { "alias": "OS-FLV-DISABLED", - "description": "", + "description": "Support to show the disabled status of a flavor.", "links": [], "name": "FlavorDisabled", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -82,7 +82,7 @@ }, { "alias": "OS-FLV-EXT-DATA", - "description": "", + "description": "Provide additional data for flavors.", "links": [], "name": "FlavorExtraData", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -170,7 +170,7 @@ }, { "alias": "os-baremetal-ext-status", - "description": "", + "description": "Add extended status in Baremetal Nodes v2 API.", "links": [], "name": "BareMetalExtStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -194,7 +194,7 @@ }, { "alias": "os-block-device-mapping-v2-boot", - "description": "", + "description": "Allow boot with the new BDM data format.", "links": [], "name": "BlockDeviceMappingV2Boot", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -202,7 +202,7 @@ }, { "alias": "os-cell-capacities", - "description": "", + "description": "Adding functionality to get cell capacities.", "links": [], "name": "CellCapacities", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -234,7 +234,7 @@ }, { "alias": "os-cloudpipe-update", - "description": "", + "description": "Adds the ability to set the vpn ip/port for cloudpipe instances.", "links": [], "name": "CloudpipeUpdate", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -282,7 +282,7 @@ }, { "alias": "os-create-server-ext", - "description": "", + "description": "Extended support to the Create Server v1.1 API.", "links": [], "name": "Createserverext", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -306,7 +306,7 @@ }, { "alias": "os-extended-evacuate-find-host", - "description": "", + "description": "Enables server evacuation without target host. Scheduler will select one to target.", "links": [], "name": "ExtendedEvacuateFindHost", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -314,7 +314,7 @@ }, { "alias": "os-extended-floating-ips", - "description": "", + "description": "Adds optional fixed_address to the add floating IP command.", "links": [], "name": "ExtendedFloatingIps", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -322,7 +322,7 @@ }, { "alias": "os-extended-hypervisors", - "description": "", + "description": "Extended hypervisors support.", "links": [], "name": "ExtendedHypervisors", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -330,7 +330,7 @@ }, { "alias": "os-extended-networks", - "description": "", + "description": "Adds additional fields to networks.", "links": [], "name": "ExtendedNetworks", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -338,7 +338,7 @@ }, { "alias": "os-extended-quotas", - "description": "", + "description": "Adds ability for admins to delete quota and optionally force the update Quota command.", "links": [], "name": "ExtendedQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -346,7 +346,7 @@ }, { "alias": "os-extended-rescue-with-image", - "description": "", + "description": "Allow the user to specify the image to use for rescue.", "links": [], "name": "ExtendedRescueWithImage", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -354,7 +354,7 @@ }, { "alias": "os-extended-services", - "description": "", + "description": "Extended services support.", "links": [], "name": "ExtendedServices", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -362,7 +362,7 @@ }, { "alias": "os-extended-services-delete", - "description": "", + "description": "Extended services deletion support.", "links": [], "name": "ExtendedServicesDelete", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -426,7 +426,7 @@ }, { "alias": "os-flavor-swap", - "description": "", + "description": "Support to show the swap status of a flavor.", "links": [], "name": "FlavorSwap", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -490,7 +490,7 @@ }, { "alias": "os-hypervisor-status", - "description": "", + "description": "Show hypervisor status.", "links": [], "name": "HypervisorStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -658,7 +658,7 @@ }, { "alias": "os-server-group-quotas", - "description": "", + "description": "Adds quota support to server groups.", "links": [], "name": "ServerGroupQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -674,7 +674,7 @@ }, { "alias": "os-server-list-multi-status", - "description": "", + "description": "Allow to filter the servers by a set of status values.", "links": [], "name": "ServerListMultiStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -690,7 +690,7 @@ }, { "alias": "os-server-sort-keys", - "description": "", + "description": "Add sorting support in get Server v2 API.", "links": [], "name": "ServerSortKeys", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -698,7 +698,7 @@ }, { "alias": "os-server-start-stop", - "description": "", + "description": "Start/Stop instance compute API support.", "links": [], "name": "ServerStartStop", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -754,7 +754,7 @@ }, { "alias": "os-used-limits-for-admin", - "description": "", + "description": "Provide data to admin on limited resources used by other tenants.", "links": [], "name": "UsedLimitsForAdmin", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -770,7 +770,7 @@ }, { "alias": "os-user-quotas", - "description": "", + "description": "Project user quota support.", "links": [], "name": "UserQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -786,7 +786,7 @@ }, { "alias": "os-volume-attachment-update", - "description": "", + "description": "Support for updating a volume attachment.", "links": [], "name": "VolumeAttachmentUpdate", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -801,4 +801,4 @@ "updated": "2014-12-03T00:00:00Z" } ] -} \ No newline at end of file +} diff --git a/nova/tests/functional/api_sample_tests/api_samples/extension-info/extensions-list-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/extension-info/extensions-list-resp.json.tpl index 751260d89f9b..81626d6e2167 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/extension-info/extensions-list-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/extension-info/extensions-list-resp.json.tpl @@ -34,7 +34,7 @@ }, { "alias": "OS-EXT-IPS", - "description": "", + "description": "Adds type parameter to the ip list.", "links": [], "name": "ExtendedIps", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -42,7 +42,7 @@ }, { "alias": "OS-EXT-IPS-MAC", - "description": "", + "description": "Adds mac address parameter to the ip list.", "links": [], "name": "ExtendedIpsMac", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -58,7 +58,7 @@ }, { "alias": "OS-EXT-STS", - "description": "", + "description": "Extended Status support.", "links": [], "name": "ExtendedStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -66,7 +66,7 @@ }, { "alias": "OS-FLV-DISABLED", - "description": "", + "description": "Support to show the disabled status of a flavor.", "links": [], "name": "FlavorDisabled", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -74,7 +74,7 @@ }, { "alias": "OS-FLV-EXT-DATA", - "description": "", + "description": "Provide additional data for flavors.", "links": [], "name": "FlavorExtraData", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -162,7 +162,7 @@ }, { "alias": "os-baremetal-ext-status", - "description": "", + "description": "Add extended status in Baremetal Nodes v2 API.", "links": [], "name": "BareMetalExtStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -186,7 +186,7 @@ }, { "alias": "os-block-device-mapping-v2-boot", - "description": "", + "description": "Allow boot with the new BDM data format.", "links": [], "name": "BlockDeviceMappingV2Boot", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -194,7 +194,7 @@ }, { "alias": "os-cell-capacities", - "description": "", + "description": "Adding functionality to get cell capacities.", "links": [], "name": "CellCapacities", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -226,7 +226,7 @@ }, { "alias": "os-cloudpipe-update", - "description": "", + "description": "Adds the ability to set the vpn ip/port for cloudpipe instances.", "links": [], "name": "CloudpipeUpdate", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -274,7 +274,7 @@ }, { "alias": "os-create-server-ext", - "description": "", + "description": "Extended support to the Create Server v1.1 API.", "links": [], "name": "Createserverext", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -298,7 +298,7 @@ }, { "alias": "os-extended-evacuate-find-host", - "description": "", + "description": "Enables server evacuation without target host. Scheduler will select one to target.", "links": [], "name": "ExtendedEvacuateFindHost", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -306,7 +306,7 @@ }, { "alias": "os-extended-floating-ips", - "description": "", + "description": "Adds optional fixed_address to the add floating IP command.", "links": [], "name": "ExtendedFloatingIps", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -314,7 +314,7 @@ }, { "alias": "os-extended-hypervisors", - "description": "", + "description": "Extended hypervisors support.", "links": [], "name": "ExtendedHypervisors", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -322,7 +322,7 @@ }, { "alias": "os-extended-networks", - "description": "", + "description": "Adds additional fields to networks.", "links": [], "name": "ExtendedNetworks", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -330,7 +330,7 @@ }, { "alias": "os-extended-quotas", - "description": "", + "description": "Adds ability for admins to delete quota and optionally force the update Quota command.", "links": [], "name": "ExtendedQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -338,7 +338,7 @@ }, { "alias": "os-extended-rescue-with-image", - "description": "", + "description": "Allow the user to specify the image to use for rescue.", "links": [], "name": "ExtendedRescueWithImage", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -346,7 +346,7 @@ }, { "alias": "os-extended-services", - "description": "", + "description": "Extended services support.", "links": [], "name": "ExtendedServices", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -354,7 +354,7 @@ }, { "alias": "os-extended-services-delete", - "description": "", + "description": "Extended services deletion support.", "links": [], "name": "ExtendedServicesDelete", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -418,7 +418,7 @@ }, { "alias": "os-flavor-swap", - "description": "", + "description": "Support to show the swap status of a flavor.", "links": [], "name": "FlavorSwap", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -482,7 +482,7 @@ }, { "alias": "os-hypervisor-status", - "description": "", + "description": "Show hypervisor status.", "links": [], "name": "HypervisorStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -650,7 +650,7 @@ }, { "alias": "os-server-group-quotas", - "description": "", + "description": "Adds quota support to server groups.", "links": [], "name": "ServerGroupQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -666,7 +666,7 @@ }, { "alias": "os-server-list-multi-status", - "description": "", + "description": "Allow to filter the servers by a set of status values.", "links": [], "name": "ServerListMultiStatus", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -682,7 +682,7 @@ }, { "alias": "os-server-sort-keys", - "description": "", + "description": "Add sorting support in get Server v2 API.", "links": [], "name": "ServerSortKeys", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -690,7 +690,7 @@ }, { "alias": "os-server-start-stop", - "description": "", + "description": "Start/Stop instance compute API support.", "links": [], "name": "ServerStartStop", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -746,7 +746,7 @@ }, { "alias": "os-used-limits-for-admin", - "description": "", + "description": "Provide data to admin on limited resources used by other tenants.", "links": [], "name": "UsedLimitsForAdmin", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -762,7 +762,7 @@ }, { "alias": "os-user-quotas", - "description": "", + "description": "Project user quota support.", "links": [], "name": "UserQuotas", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -778,7 +778,7 @@ }, { "alias": "os-volume-attachment-update", - "description": "", + "description": "Support for updating a volume attachment.", "links": [], "name": "VolumeAttachmentUpdate", "namespace": "http://docs.openstack.org/compute/ext/fake_xml", @@ -793,4 +793,4 @@ "updated": "2014-12-03T00:00:00Z" } ] -} \ No newline at end of file +} diff --git a/nova/tests/unit/api/openstack/compute/test_extension_info.py b/nova/tests/unit/api/openstack/compute/test_extension_info.py index f6088d427c35..17324d1504a8 100644 --- a/nova/tests/unit/api/openstack/compute/test_extension_info.py +++ b/nova/tests/unit/api/openstack/compute/test_extension_info.py @@ -158,23 +158,32 @@ class ExtensionInfoV21Test(test.NoDBTestCase): del expected_output['images'] del expected_output['servers'] expected_output['os-cell-capacities'] = fake_extension( - 'CellCapacities', 'os-cell-capacities', '', -1) + 'CellCapacities', 'os-cell-capacities', 'Adding functionality' + ' to get cell capacities.', -1) expected_output['os-server-sort-keys'] = fake_extension( - 'ServerSortKeys', 'os-server-sort-keys', '', -1) + 'ServerSortKeys', 'os-server-sort-keys', 'Add sorting' + ' support in get Server v2 API.', -1) expected_output['os-user-quotas'] = fake_extension( - 'UserQuotas', 'os-user-quotas', '', -1) + 'UserQuotas', 'os-user-quotas', 'Project user quota support.', -1) expected_output['os-extended-quotas'] = fake_extension( - 'ExtendedQuotas', 'os-extended-quotas', '', -1) + 'ExtendedQuotas', 'os-extended-quotas', 'Adds ability for' + ' admins to delete quota and optionally force the update' + ' Quota command.', -1) expected_output['os-create-server-ext'] = fake_extension( - 'Createserverext', 'os-create-server-ext', '', -1) + 'Createserverext', 'os-create-server-ext', 'Extended support to' + ' the Create Server v1.1 API.', -1) expected_output['OS-EXT-IPS'] = fake_extension( - 'ExtendedIps', 'OS-EXT-IPS', '', -1) + 'ExtendedIps', 'OS-EXT-IPS', 'Adds type parameter to the' + ' ip list.', -1) expected_output['OS-EXT-IPS-MAC'] = fake_extension( - 'ExtendedIpsMac', 'OS-EXT-IPS-MAC', '', -1) + 'ExtendedIpsMac', 'OS-EXT-IPS-MAC', 'Adds mac address parameter' + ' to the ip list.', -1) expected_output['os-server-list-multi-status'] = fake_extension( - 'ServerListMultiStatus', 'os-server-list-multi-status', '', -1) + 'ServerListMultiStatus', 'os-server-list-multi-status', + 'Allow to filter the servers by a set of status values.', -1) expected_output['os-server-start-stop'] = fake_extension( - 'ServerStartStop', 'os-server-start-stop', '', -1) + 'ServerStartStop', 'os-server-start-stop', 'Start/Stop instance' + ' compute API support.', -1) # NOTE(sdague): filter the extension list by only ones that # are the fake alias names, otherwise we get errors as we