Project

General

Profile

Actions

action #109977

closed

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 over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
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

Related issues 1 (0 open1 closed)

Related to openQA Infrastructure (public) - action #119938: openQABot | Failed pipeline for master | 9b1b1857: ERROR: Connection error during reading from IBS: HTTP Error 403: Forbidden size:MResolveddheidler2022-11-04

Actions
Actions

Also available in: Atom PDF