urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
-#arg responsecode baseurl num_rics uuid startid count pids pid_id
+#arg responsecode baseurl num_rics uuid startid count pids pid_id proxy
try:
- if len(sys.argv) != 9:
- print("1Expected 8 args, got "+str(len(sys.argv)-1)+ ". Args: responsecode baseurl num_rics uuid startid count pids pid_id")
+ if len(sys.argv) != 10:
+ print("1Expected 9 args, got "+str(len(sys.argv)-1)+ ". Args: responsecode baseurl num_rics uuid startid count pids pid_id proxy")
sys.exit()
responsecode=int(sys.argv[1])
- baseurl=sys.argv[2]
+ baseurl=str(sys.argv[2])
num_rics=int(sys.argv[3])
- uuid=sys.argv[4]
+ uuid=str(sys.argv[4])
start=int(sys.argv[5])
count=int(sys.argv[6])
pids=int(sys.argv[7])
pid_id=int(sys.argv[8])
+ httpproxy=str(sys.argv[9])
+ proxydict=None
+ if httpproxy != "NOPROXY":
+ proxydict = {
+ "http" : httpproxy,
+ "https" : httpproxy
+ }
if uuid == "NOUUID":
uuid=""
+ http_retry_count=0
+ connect_retry_count=0
+
stop=count*num_rics+start
for i in range(start,stop):
if (i%pids == (pid_id-1)):
- url=str(baseurl+"?id="+uuid+str(i))
- try:
- resp=requests.delete(url, verify=False, timeout=90)
- except Exception as e1:
- print("1Delete failed for id:"+uuid+str(i)+ ", "+str(e1) + " "+traceback.format_exc())
- sys.exit()
- if (resp.status_code == None):
- print("1Delete failed for id:"+uuid+str(i)+ ", expected response code: "+responsecode+", got: None")
- sys.exit()
- if (resp.status_code != responsecode):
- print("1Delete failed for id:"+uuid+str(i)+ ", expected response code: "+responsecode+", got: "+str(resp.status_code))
- sys.exit()
+ connect_ok=False
+ retry_cnt=5
+ while(retry_cnt>0):
+ if ("/v2/policies/" in baseurl):
+ url=str(baseurl+uuid+str(i))
+ else:
+ url=str(baseurl+"?id="+uuid+str(i))
+ try:
+ if proxydict is None:
+ resp=requests.delete(url, verify=False, timeout=90)
+ else:
+ resp=requests.delete(url, verify=False, timeout=90, proxies=proxydict)
+ cconnect_ok=True
+ except Exception as e1:
+ if (retry_cnt > 1):
+ sleep(0.1)
+ retry_cnt -= 1
+ connect_retry_count += 1
+ else:
+ print("1Delete failed for id:"+uuid+str(i)+ ", "+str(e1) + " "+traceback.format_exc())
+ sys.exit()
+
+ if (cconnect_ok == True):
+ if (resp.status_code == None):
+ print("1Delete failed for id:"+uuid+str(i)+ ", expected response code: "+str(responsecode)+", got: None")
+ sys.exit()
+ if (resp.status_code != responsecode):
+ if (resp.status_code >= 500) and (http_retry_count < 600 ) and (retry_cnt > 1):
+ sleep(0.1)
+ retry_cnt -= 1
+ http_retry_count += 1
+ else:
+ print("1Delete failed for id:"+uuid+str(i)+ ", expected response code: "+str(responsecode)+", got: "+str(resp.status_code)+str(resp.raw))
+ sys.exit()
+ else:
+ retry_cnt=-1
- print("0")
+ print("0 http retries:"+str(http_retry_count) + ", connect retries: "+str(connect_retry_count))
sys.exit()
except Exception as e:
print("1"+str(e))
+ traceback.print_exc()
sys.exit()
\ No newline at end of file