Project

General

Profile

action #109977

coordination #91646: [saga][epic] SUSE Maintenance QA workflows with fully automated testing, approval and release

coordination #109641: [epic] qem-bot improvements

qem-bot - approve pipeline failed with 403 forbidden size:M

Added by osukup 2 months ago. Updated 2 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
Start date:
2022-04-14
Due date:
% Done:

0%

Estimated time:

Description

Gitlab CI https://gitlab.suse.de/qa-maintenance/bot-ng/-/jobs/929031

after look to IBS , RR (release request) was accepted before but info about this didn't propagate to dashboard (some latency is excepted IBS->SMELT->Dashboard), so new try to accept accepted RR ends with error

INFO: Accepting review for SUSE:Maintenace:23688:269540
ERROR: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "/builds/qa-maintenance/bot-ng/qem-bot/openqabot/approver.py", line 117, in osc_approve
    message=msg,
  File "/usr/lib/python3.6/site-packages/osc/core.py", line 4323, in change_review_state
    f = http_POST(u, data=message)
  File "/usr/lib/python3.6/site-packages/osc/core.py", line 3422, in http_POST
    def http_POST(*args, **kwargs):   return http_request('POST', *args, **kwargs)
  File "/usr/lib/python3.6/site-packages/osc/core.py", line 3410, in http_request
    fd = urlopen(req, data=data)
  File "/usr/lib64/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib64/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/lib64/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python3.6/urllib/request.py", line 564, in error
    result = self._call_chain(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 1059, in http_error_401
    url, req, headers)
  File "/usr/lib64/python3.6/urllib/request.py", line 1007, in http_error_auth_reqed
    return self.retry_http_basic_auth(host, req, realm)
  File "/usr/lib64/python3.6/urllib/request.py", line 1022, in retry_http_basic_auth
    return self.parent.open(req, timeout=req.timeout)
  File "/usr/lib64/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/lib64/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python3.6/urllib/request.py", line 570, in error
    return self._call_chain(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Acceptance criteria

  • AC1: Approve runs without error in case RR is already processed

Suggestions

  • Check response before throwing exception and act accordingly
  • Check IBS RR if really has open review for qam-openqa
  • The meaning of the 403 response code here is that we try to accept something that is already accepted. How about catching the case where the XML indicates the specific error, logging and ignoring the case.
  • Log server response (not just return code)
  • Suggest a better response (and response code) to OBS upstream

History

#1 Updated by osukup 2 months ago

  • Description updated (diff)

#2 Updated by okurz 2 months ago

  • Tags set to alert, gitlab, qem-bot, smelt
  • Target version set to Ready
  • Parent task set to #109641

makes sense, yes

#3 Updated by mkittler 2 months ago

  • Subject changed from qem-bot - approve pipeline failed with 403 forbidden to qem-bot - approve pipeline failed with 403 forbidden size:M
  • Description updated (diff)
  • Status changed from New to Workable

#4 Updated by mkittler 2 months ago

  • Description updated (diff)

#5 Updated by okurz 2 months ago

  • Due date set to 2022-05-05
  • Status changed from Workable to Feedback
  • Assignee set to okurz

#6 Updated by okurz 2 months ago

  • Due date deleted (2022-05-05)
  • Status changed from Feedback to Resolved

https://github.com/openSUSE/qem-bot/pull/20/commits/709f50a621b9cd178b249bf87d62a1a737a78f35 might do it. At least there is no negative fall-out due to the change so far.

Also available in: Atom PDF