summaryrefslogtreecommitdiffstats
path: root/deploy/cloud/deployment.py
diff options
context:
space:
mode:
authorMichal Skalski <mskalski@mirantis.com>2016-09-27 23:31:52 +0200
committerMichal Skalski <mskalski@mirantis.com>2016-09-27 23:37:19 +0200
commitb2a63bfe5746729b4731a14d98c50fb7f59d875e (patch)
treec867462114b7fa7d907588bc9b8246b150c6efc9 /deploy/cloud/deployment.py
parentf2fde8258dedfbbeae52d0c9b1d3a634fd290877 (diff)
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 <mskalski@mirantis.com>
Diffstat (limited to 'deploy/cloud/deployment.py')
-rw-r--r--deploy/cloud/deployment.py9
1 files 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))