From 2dbbf5656e5c705b7767032b1491dfe985f2e5fc Mon Sep 17 00:00:00 2001 From: Hirotaka Wakabayashi Date: Fri, 8 Apr 2022 04:06:30 +0900 Subject: [PATCH] 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 --- troveclient/osc/v1/database_clusters.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/troveclient/osc/v1/database_clusters.py b/troveclient/osc/v1/database_clusters.py index 6e9f0eee..842e549c 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)