From 097605916d5fc2d8bec4629838657f2b50f1753c Mon Sep 17 00:00:00 2001 From: fujinhua Date: Sat, 24 Nov 2018 13:16:40 +0800 Subject: Add retry when delete vim res failed Change-Id: Iab5c6783fa6cc89761b72972b080ad3554455c64 Issue-ID: VFC-1163 Signed-off-by: fujinhua (cherry picked from commit 962b48bfee74f301000b2afae937dcb45ab9ec1c) --- lcm/lcm/pub/vimapi/api.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lcm/lcm/pub/vimapi/api.py b/lcm/lcm/pub/vimapi/api.py index 1679a564..b46bbf4b 100644 --- a/lcm/lcm/pub/vimapi/api.py +++ b/lcm/lcm/pub/vimapi/api.py @@ -13,6 +13,7 @@ # limitations under the License. import json +import time from multiprocessing import Lock from lcm.pub.msapi.aai import delete_aai_flavor @@ -32,10 +33,14 @@ def call(vim_id, tenant_id, res, method, data=''): vim_id=vim_id, tenant_id="/" + tenant_id if tenant_id else "", res=res) - ret = req_by_msb(url, method, data) - if ret[0] > 0: - raise VimException(ret[1], ret[2]) - return json.JSONDecoder().decode(ret[1]) if ret[1] else {} + for i in range(10): + ret = req_by_msb(url, method, data) + if ret[0] > 0: + if ret[2] == '409' and "InUse" in ret[1] and method == "DELETE": + time.sleep(5) + continue + raise VimException(ret[1], ret[2]) + return json.JSONDecoder().decode(ret[1]) if ret[1] else {} ###################################################################### -- cgit 1.2.3-korg