Fix vfc-ztevmanagerdriver heal bug 21/23121/2
authorying.yunlong <ying.yunlong@zte.com.cn>
Fri, 10 Nov 2017 12:08:41 +0000 (20:08 +0800)
committerying.yunlong <ying.yunlong@zte.com.cn>
Fri, 10 Nov 2017 12:12:59 +0000 (20:12 +0800)
Change-Id: I5ab8b426929ac164859d6cb7cfd7bc85d7ba0a4b
Issue-ID: VFC-589
Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
zte/vmanager/driver/interfaces/views.py

index 58dac48..6626c1d 100644 (file)
@@ -530,7 +530,14 @@ def heal(request, *args, **kwargs):
         if ret[0] != 0:
             return Response(data={'error': ret[1]}, status=ret[2])
         vnfm_info = json.JSONDecoder().decode(ret[1])
-        data = request.data
+        data = {}
+        data['action'] = ignorcase_get(request.data, 'action')
+        affectedvm = ignorcase_get(request.data, 'affectedvm')
+        data['affectedvm'] = []
+        if isinstance(affectedvm, list):
+            data['affectedvm'] = affectedvm
+        else:
+            data['affectedvm'].append(affectedvm)
         data['lifecycleoperation'] = 'operate'
         data['isgrace'] = 'force'
 
@@ -541,7 +548,7 @@ def heal(request, *args, **kwargs):
             passwd=ignorcase_get(vnfm_info, "password"),
             auth_type=restcall.rest_no_auth,
             resource=nf_healing_url.format(vnfInstanceID=nf_instance_id),
-            method='put',  # POST
+            method='post',
             content=json.JSONEncoder().encode(data))
         logger.info("ret=%s", ret)
         if ret[0] != 0: