summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorJack Chan <chenjiankun1@huawei.com>2018-03-16 09:01:07 +0000
committerGerrit Code Review <gerrit@opnfv.org>2018-03-16 09:01:07 +0000
commita6a54f115cb55a4cf91df24e9b894f89b232dae8 (patch)
treea18847a270f64710d5daefd73cfdb5622134c3e6 /api
parent8fe2c9fd13783fc5aa0f3b488274b5f892f2f260 (diff)
parent1d2acc900a695bee5c1d83d7631725e4d8b18df0 (diff)
Merge "Supporting user config task parameters in GUI"
Diffstat (limited to 'api')
-rw-r--r--api/database/v2/models.py1
-rw-r--r--api/resources/v2/tasks.py24
2 files changed, 23 insertions, 2 deletions
diff --git a/api/database/v2/models.py b/api/database/v2/models.py
index 59dab3ebc..0ee811698 100644
--- a/api/database/v2/models.py
+++ b/api/database/v2/models.py
@@ -92,6 +92,7 @@ class V2Task(Base):
case_name = Column(String(30))
suite = Column(Boolean)
content = Column(Text)
+ params = Column(Text)
result = Column(Text)
error = Column(Text)
status = Column(Integer)
diff --git a/api/resources/v2/tasks.py b/api/resources/v2/tasks.py
index 25a9cf109..17241ed63 100644
--- a/api/resources/v2/tasks.py
+++ b/api/resources/v2/tasks.py
@@ -38,6 +38,8 @@ class V2Tasks(ApiResource):
for t in tasks:
result = t['result']
t['result'] = jsonutils.loads(result) if result else None
+ params = t['params']
+ t['params'] = jsonutils.loads(params) if params else None
return result_handler(consts.API_SUCCESS, {'tasks': tasks})
@@ -94,6 +96,9 @@ class V2Task(ApiResource):
result = task_info['result']
task_info['result'] = jsonutils.loads(result) if result else None
+ params = task_info['params']
+ task_info['params'] = jsonutils.loads(params) if params else None
+
return result_handler(consts.API_SUCCESS, {'task': task_info})
def delete(self, task_id):
@@ -127,7 +132,6 @@ class V2Task(ApiResource):
return result_handler(consts.API_SUCCESS, {'task': task_id})
def put(self, task_id):
-
try:
uuid.UUID(task_id)
except ValueError:
@@ -166,6 +170,21 @@ class V2Task(ApiResource):
return result_handler(consts.API_SUCCESS, {'uuid': task_id})
+ def add_params(self, args):
+ task_id = args['task_id']
+ try:
+ params = args['params']
+ except KeyError:
+ return result_handler(consts.API_ERROR, 'params must be provided')
+
+ LOG.info('update params info in task')
+
+ task_handler = V2TaskHandler()
+ task_update_data = {'params': jsonutils.dumps(params)}
+ task_handler.update_attr(task_id, task_update_data)
+
+ return result_handler(consts.API_SUCCESS, {'uuid': task_id})
+
def add_case(self, args):
task_id = args['task_id']
try:
@@ -243,7 +262,8 @@ class V2Task(ApiResource):
data = {
'inputfile': ['/tmp/{}.yaml'.format(task.case_name)],
- 'task_id': task_id
+ 'task_id': task_id,
+ 'task-args': task.params
}
if task.suite:
data.update({'suite': True})