Skip to content

Commit 311dfc3

Browse files
Merge pull request #113 from alokgoswami-ag/fix/get_quota_and_nightly-unpack-error
Fix 'too many values to unpack' error in get_quota_and_nightly
2 parents 1f9da3c + d70b95a commit 311dfc3

File tree

1 file changed

+47
-36
lines changed

1 file changed

+47
-36
lines changed

monitor.py

Lines changed: 47 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from bs4 import BeautifulSoup
55
import urllib3
66
import requests
7+
import time
78
from datetime import datetime , timedelta
89
import xml.etree.ElementTree as ET
910
import constants
@@ -572,44 +573,54 @@ def get_quota_and_nightly(spy_link):
572573
'''
573574

574575
_,job_platform = job_classifier(spy_link)
575-
lease = ""
576+
lease = None
577+
nightly = None
578+
max_retries = 3
579+
delay = 5 # seconds
576580
build_log_url = constants.PROW_VIEW_URL + spy_link[8:] + "/build-log.txt"
577-
try:
578-
build_log_response = requests.get(build_log_url, verify=False, timeout=15)
579-
if 'ppc64le' in spy_link:
580-
if job_platform == "libvirt":
581-
job_platform+="-ppc64le-s2s"
582-
elif job_platform == "powervs":
583-
job_platform+="-[1-9]"
584-
lease = get_lease(build_log_response,job_platform)
585-
nightly = get_nightly(build_log_url,build_log_response, 'ppc64le')
586-
587-
elif 's390x' in spy_link:
588-
job_platform+="-s390x"
589-
lease = get_lease(build_log_response,job_platform )
590-
nightly = get_nightly(build_log_url,build_log_response, 's390x')
591-
elif "multi" in spy_link:
592-
if "powervs" in spy_link:
593-
job_platform = "powervs"
594-
job_platform+="-[1-9]"
595-
lease=get_lease(build_log_response,job_platform)
581+
for attempt in range(1, max_retries + 1):
582+
try:
583+
build_log_response = requests.get(build_log_url, verify=False, timeout=15)
584+
if 'ppc64le' in spy_link:
585+
if job_platform == "libvirt":
586+
job_platform += "-ppc64le-s2s"
587+
elif job_platform == "powervs":
588+
job_platform += "-[1-9]"
589+
lease = get_lease(build_log_response, job_platform)
590+
nightly = get_nightly(build_log_url, build_log_response, 'ppc64le')
591+
592+
elif 's390x' in spy_link:
593+
job_platform += "-s390x"
594+
lease = get_lease(build_log_response, job_platform)
595+
nightly = get_nightly(build_log_url, build_log_response, 's390x')
596+
597+
elif "multi" in spy_link:
598+
if "powervs" in spy_link:
599+
job_platform = "powervs-[1-9]"
600+
lease = get_lease(build_log_response, job_platform)
601+
else:
602+
job_platform = "multi"
603+
lease = get_lease(build_log_response, 'libvirt-ppc64le-s2s')
604+
nightly = get_nightly(build_log_url, build_log_response, "multi")
605+
606+
elif "mce" in spy_link:
607+
job_platform = "aws"
608+
lease = get_lease(build_log_response, job_platform)
609+
nightly = get_nightly(build_log_url, build_log_response, "multi")
610+
596611
else:
597-
job_platform="multi"
598-
lease=get_lease(build_log_response,'libvirt-ppc64le-s2s')
599-
nightly = get_nightly(build_log_url,build_log_response, "multi")
600-
601-
elif "mce" in spy_link:
602-
job_platform = "aws"
603-
lease = get_lease(build_log_response,job_platform )
604-
nightly = get_nightly(build_log_url,build_log_response, "multi")
605-
else:
606-
# lease is not applicable for SNO
607-
nightly = get_nightly(build_log_url,build_log_response, "multi")
608-
return lease, nightly
609-
except requests.Timeout:
610-
return "Request timed out"
611-
except requests.RequestException:
612-
return "Error while sending request to url"
612+
# lease is not applicable for SNO
613+
nightly = get_nightly(build_log_url, build_log_response, "multi")
614+
615+
break # If successful, break out of retry loop
616+
617+
except (requests.Timeout, requests.RequestException) as e:
618+
if attempt == max_retries - 1:
619+
print(f"Request failed after {max_retries} attempts: {e}")
620+
else:
621+
time.sleep(delay)
622+
623+
return lease, nightly
613624

614625
def job_classifier(spy_link):
615626

0 commit comments

Comments
 (0)