From 429c39890e3242c6a502037673943b38452c5811 Mon Sep 17 00:00:00 2001 From: Lingxian Kong Date: Thu, 16 Apr 2020 17:50:55 +1200 Subject: Support ip address type for instances Include address type in getting instance response. * Deprecate confip option network_label_regex as we don't reply on Nova to get addresses, network names don't make any sense. * Add 'addresses' in instance API response, keep 'ip' as is but mark it deprecated in API doc, python-troveclient shouldn't break. Story: 2007562 Task: 39445 Change-Id: Ia0458b5ddae8959ce29c17e444e1a51a026283cd --- api-ref/source/instances.inc | 81 +++++++++++++++------- api-ref/source/parameters.yaml | 8 ++- .../samples/instance-list-detail-response.json | 10 +++ .../samples/instance-mgmt-list-response.json | 10 +++ .../samples/instance-mgmt-show-response.json | 10 +++ api-ref/source/samples/instance-show-response.json | 10 +++ 6 files changed, 103 insertions(+), 26 deletions(-) (limited to 'api-ref') diff --git a/api-ref/source/instances.inc b/api-ref/source/instances.inc index 62da0653..2be3519b 100644 --- a/api-ref/source/instances.inc +++ b/api-ref/source/instances.inc @@ -161,39 +161,14 @@ Response Parameters - datastore: datastore2 - datastore.type: datastore_type - datastore.version: datastore_version1 - - region: region_name2 - - tenant_id: tenant_id - volume: volume - volume.size: volume_size - volume.used: volume_used - - hostname: instance_hostname - - ip: instance_ip_address - created: created - updated: updated - service_status_updated: service_status_updated - - fault: instance_fault - - fault.message: instance_fault_message - - fault.created: instance_fault_created - - fault.details: instance_fault_details - - replicas: instance_replicas - - replicas.id: instance_replica_id - - replicas.links: instance_replica_links - - replicas.links.href: instance_replica_link_href - - replicas.links.rel: instance_replica_link_rel - - configuration: configuration1 - - configuration.id: configuration_id - - configuration.name: configuration_name - - configuration.links: configuration_links - - configuration.links.href: configuration_link_href - - configuration.links.rel: configuration_link_rel - locality: locality - - local_storage_used: local_storage_used - password: root_password - - cluster_id: cluster_id - - shard_id: shard_id - - server_id: server_id - - volume_id: volume_id - - encrypted_rpc_messaging: encrypted_rpc_messaging - instance: instance @@ -231,6 +206,62 @@ Request - instanceId: instanceId +Response Parameters +------------------- + +.. rest_parameters:: parameters.yaml + + - instance: instance + - id: instanceId1 + - name: instanceName1 + - status: instance_status + - links: instance_links + - links.href: instance_link_href + - links.rel: instance_link_rel + - flavor: flavor + - flavor.id: flavorId1 + - flavor.links: flavor_links + - flavor.links.href: flavor_link_href + - flavor.links.rel: flavor_link_rel + - datastore: datastore2 + - datastore.type: datastore_type + - datastore.version: datastore_version1 + - region: region_name2 + - tenant_id: tenant_id + - volume: volume + - volume.size: volume_size + - volume.used: volume_used + - hostname: instance_hostname + - ip: instance_ip_address + - addresses: instance_ip_addresses + - created: created + - updated: updated + - service_status_updated: service_status_updated + - fault: instance_fault + - fault.message: instance_fault_message + - fault.created: instance_fault_created + - fault.details: instance_fault_details + - replicas: instance_replicas + - replicas.id: instance_replica_id + - replicas.links: instance_replica_links + - replicas.links.href: instance_replica_link_href + - replicas.links.rel: instance_replica_link_rel + - configuration: configuration1 + - configuration.id: configuration_id + - configuration.name: configuration_name + - configuration.links: configuration_links + - configuration.links.href: configuration_link_href + - configuration.links.rel: configuration_link_rel + - locality: locality + - local_storage_used: local_storage_used + - password: root_password + - cluster_id: cluster_id + - shard_id: shard_id + - server_id: server_id + - volume_id: volume_id + - encrypted_rpc_messaging: encrypted_rpc_messaging + + Response Example ---------------- diff --git a/api-ref/source/parameters.yaml b/api-ref/source/parameters.yaml index 61062839..c6279686 100755 --- a/api-ref/source/parameters.yaml +++ b/api-ref/source/parameters.yaml @@ -419,10 +419,16 @@ instance_hostname: type: string instance_ip_address: description: | - The IP address of an instance. + The IP address of an instance(deprecated). in: body require: false type: string +instance_ip_addresses: + description: | + The IP addresses of an instance, including the address type and IP. + in: body + require: false + type: array instance_link_href: description: | The ``href`` attribute of an instance link. diff --git a/api-ref/source/samples/instance-list-detail-response.json b/api-ref/source/samples/instance-list-detail-response.json index fd785b99..619c87bf 100644 --- a/api-ref/source/samples/instance-list-detail-response.json +++ b/api-ref/source/samples/instance-list-detail-response.json @@ -1,6 +1,16 @@ { "instances": [ { + "addresses": [ + { + "address": "10.1.0.62", + "type": "private" + }, + { + "address": "172.24.5.114", + "type": "public" + } + ], "created": "2019-12-23T20:58:35", "datastore": { "type": "mysql", diff --git a/api-ref/source/samples/instance-mgmt-list-response.json b/api-ref/source/samples/instance-mgmt-list-response.json index 706fdf79..f67e6325 100644 --- a/api-ref/source/samples/instance-mgmt-list-response.json +++ b/api-ref/source/samples/instance-mgmt-list-response.json @@ -1,6 +1,16 @@ { "instances": [ { + "addresses": [ + { + "address": "10.1.0.62", + "type": "private" + }, + { + "address": "172.24.5.114", + "type": "public" + } + ], "created": "2019-12-23T20:58:35", "datastore": { "type": "mysql", diff --git a/api-ref/source/samples/instance-mgmt-show-response.json b/api-ref/source/samples/instance-mgmt-show-response.json index 649f0b58..eea90bc9 100644 --- a/api-ref/source/samples/instance-mgmt-show-response.json +++ b/api-ref/source/samples/instance-mgmt-show-response.json @@ -1,5 +1,15 @@ { "instance": { + "addresses": [ + { + "address": "10.1.0.62", + "type": "private" + }, + { + "address": "172.24.5.114", + "type": "public" + } + ], "created": "2019-12-23T20:58:35", "datastore": { "type": "mysql", diff --git a/api-ref/source/samples/instance-show-response.json b/api-ref/source/samples/instance-show-response.json index 4a162db3..32fa7f8b 100644 --- a/api-ref/source/samples/instance-show-response.json +++ b/api-ref/source/samples/instance-show-response.json @@ -1,5 +1,15 @@ { "instance": { + "addresses": [ + { + "address": "10.1.0.62", + "type": "private" + }, + { + "address": "172.24.5.114", + "type": "public" + } + ], "created": "2019-12-23T20:58:35", "datastore": { "type": "mysql", -- cgit v1.2.1