summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHirotaka Wakabayashi <hiwkby@yahoo.com>2022-04-08 04:06:30 +0900
committerHirotaka Wakabayashi <hiwkby@yahoo.com>2022-04-08 04:06:30 +0900
commit2dbbf5656e5c705b7767032b1491dfe985f2e5fc (patch)
tree4e700b2a759cbf1b4d03d1c69cc86fd64f56fefb
parentef88f4d6c0f67c3689b27347b5fd11fbc9e7e995 (diff)
downloadpython-troveclient-2dbbf5656e5c705b7767032b1491dfe985f2e5fc.tar.gz
Adapts new API response schema
This PR makes troveclient to handle API response in new data schema. Trove API response data schema has changed by the commit[1]. Original problem is that python-troveclient can't parse a API response data in new data schema, resulting in an error. [1]: https://opendev.org/openstack/trove/commit/429c39890e3242c6a502037673943b38452c5811 Task: 44986 Story: 2009979 Change-Id: I2e446c68c3b82c11d13f6bace54273c109e02069
-rw-r--r--troveclient/osc/v1/database_clusters.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/troveclient/osc/v1/database_clusters.py b/troveclient/osc/v1/database_clusters.py
index 6e9f0ee..842e549 100644
--- a/troveclient/osc/v1/database_clusters.py
+++ b/troveclient/osc/v1/database_clusters.py
@@ -35,7 +35,13 @@ def set_attributes_for_print_detail(cluster):
info['task_name'] = cluster.task['name']
info.pop('task', None)
if hasattr(cluster, 'ip'):
- info['ip'] = ', '.join(cluster.ip)
+ ip = []
+ for addr in cluster.ip:
+ if isinstance(addr, dict):
+ ip.append(addr['address'])
+ else:
+ ip.append(addr)
+ info['ip'] = ', '.join(ip)
instances = info.pop('instances', None)
if instances:
info['instance_count'] = len(instances)