From 3e469e46e9766b1b4d443167e64e2887140c107c Mon Sep 17 00:00:00 2001 From: Michal Skalski Date: Tue, 27 Sep 2016 23:31:52 +0200 Subject: Support different format of fuel task info As described in this bug: https://bugs.launchpad.net/fuel/+bug/1625518 json output of the task can be in different format: single dict or list of dicts. During tests of https://gerrit.opnfv.org/gerrit/21807 only the later one was visible, try to support both types of output. Change-Id: I7d3e12270c8246b03bdc6c73d3be77a039df469f Signed-off-by: Michal Skalski (cherry picked from commit b2a63bfe5746729b4731a14d98c50fb7f59d875e) --- deploy/cloud/deployment.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/deploy/cloud/deployment.py b/deploy/cloud/deployment.py index 75bd4ef97..ecccc241f 100644 --- a/deploy/cloud/deployment.py +++ b/deploy/cloud/deployment.py @@ -179,8 +179,13 @@ class Deployment(object): out, _ = exec_cmd('fuel2 task show {} -f json'.format(id), False) task_info = json.loads(out) properties = {} - for d in task_info: - properties.update({d['Field']: d['Value']}) + # for 9.0 this can be list of dicts or dict + # see https://bugs.launchpad.net/fuel/+bug/1625518 + if isinstance(task_info, list): + for d in task_info: + properties.update({d['Field']: d['Value']}) + else: + return task_info return properties except ValueError as e: err('Unable to fetch task info: {}'.format(e)) -- cgit 1.2.3-korg