openshift-eng / elliott

Apache License 2.0
15 stars 28 forks source link

ART-7268 Say in bug that it will not be visible in advisory if so #581

Closed locriandev closed 1 year ago

locriandev commented 1 year ago

Ref. https://issues.redhat.com/browse/ART-7268

openshift-bot commented 1 year ago

Build #1

py38: install_deps> python -I -m pip install '.[tests]'
.pkg: install_requires> python -I -m pip install 'setuptools>=65.5.1'
.pkg: _optional_hooks> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: get_requires_for_build_sdist> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: freeze> python -m pip freeze --all
.pkg: pip==23.2.1,setuptools==68.0.0,wheel==0.41.0
.pkg: build_sdist> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
py38: install_package_deps> python -I -m pip install 'aiohttp[speedups]>=3.6' 'click>=8.1.3' 'errata-tool@ git+https://github.com/red-hat-storage/errata-tool@v1.31.0' future 'jira>=3.4.1' 'koji>=1.18' 'pydantic~=1.10.7' pygit2==1.10.1 'python-bugzilla>=3.2' pyyaml requests 'requests-gssapi~=1.2.3' ruamel.yaml semver tenacity
py38: install_package> python -I -m pip install --force-reinstall --no-deps /mnt/workspace/jenkins/working/art-tools_elliott_PR-581/.tox/.tmp/package/1/rh-elliott-0.0.0.tar.gz
py38: freeze> python -m pip freeze --all
py38: aiodns==3.0.0,aiohttp==3.8.5,aiosignal==1.3.1,astroid==2.15.6,async-timeout==4.0.2,attrs==23.1.0,Brotli==1.0.9,cachetools==5.3.1,cchardet==2.1.7,certifi==2023.7.22,cffi==1.15.1,chardet==5.2.0,charset-normalizer==3.2.0,click==8.1.6,colorama==0.4.6,coverage==7.2.7,decorator==5.1.1,defusedxml==0.7.1,dill==0.3.7,distlib==0.3.7,errata-tool @ git+https://github.com/red-hat-storage/errata-tool@2fd4c8b5e26d13eae73557e1621f922a57b2acf6,exceptiongroup==1.1.2,filelock==3.12.2,flake8==6.1.0,flexmock==0.11.3,frozenlist==1.4.0,future==0.18.3,gssapi==1.8.2,idna==3.4,iniconfig==2.0.0,isort==5.12.0,jira==3.5.2,jsonpath-rw==1.4.0,koji==1.33.1,lazy-object-proxy==1.9.0,mccabe==0.7.0,multidict==6.0.4,mypy==1.4.1,mypy-extensions==1.0.0,oauthlib==3.2.2,packaging==23.1,pip==23.2.1,platformdirs==3.10.0,pluggy==1.2.0,ply==3.11,pycares==4.3.0,pycodestyle==2.11.0,pycparser==2.21,pydantic==1.10.12,pyflakes==3.1.0,pygit2==1.10.1,pylint==2.17.5,pyproject-api==1.5.3,pytest==7.4.0,python-bugzilla==3.2.0,python-dateutil==2.8.2,PyYAML==6.0.1,requests==2.31.0,requests-gssapi==1.2.3,requests-oauthlib==1.3.1,requests-toolbelt==1.0.0,rh-elliott @ file:///mnt/workspace/jenkins/working/art-tools_elliott_PR-581/.tox/.tmp/package/1/rh-elliott-0.0.0.tar.gz#sha256=c2999fb4fe6bece7ef44656001c1ea8ba422a35b1dafc8465c5216c893edcdf6,ruamel.yaml==0.17.32,ruamel.yaml.clib==0.2.7,semver==3.0.1,setuptools==68.0.0,six==1.16.0,tenacity==8.2.2,tomli==2.0.1,tomlkit==0.12.1,tox==4.6.4,typing_extensions==4.7.1,urllib3==2.0.4,virtualenv==20.24.2,wheel==0.41.0,wrapt==1.15.0,yarl==1.9.2
py38: commands[0]> coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
..............................................Cannot find any corresponding flaw bugs for these trackers: [13]. These trackers do not have a valid whiteboard component value: [12].
..BZ 9 is ignored because its status was MODIFIED at the moment of sweep cutoff (2021-06-30 12:30:00), however its status changed back to ['ASSIGNED'] afterwards
...............................................................................F.....F.F.............................................................
======================================================================
FAIL: test_run_with_specified_trackers (tests.test_find_bugs_kernel_cli.TestFindBugsKernelCli)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.8/unittest/async_case.py", line 65, in _callTestMethod
    self._callMaybeAsync(method)
  File "/usr/lib64/python3.8/unittest/async_case.py", line 88, in _callMaybeAsync
    return self._asyncioTestLoop.run_until_complete(fut)
  File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/lib64/python3.8/unittest/async_case.py", line 102, in _asyncioLoopRunner
    ret = await awaitable
  File "/usr/lib64/python3.8/unittest/mock.py", line 1342, in patched
    return await func(*newargs, **newkeywargs)
  File "/mnt/workspace/jenkins/working/art-tools_elliott_PR-581/tests/test_find_bugs_kernel_cli.py", line 354, in test_run_with_specified_trackers
To fix missing builds in other advisories:
elliott move-builds -k image --from 42 --to <target_advisory> --only operand-nvr-1-0
    _comment_on_tracker.assert_called_once_with(ANY, jira_client.issue.return_value, ANY, ANY)
  File "/usr/lib64/python3.8/unittest/mock.py", line 925, in assert_called_once_with
    return self.assert_called_with(*args, **kwargs)
  File "/usr/lib64/python3.8/unittest/mock.py", line 913, in assert_called_with
    raise AssertionError(_error_message()) from cause
AssertionError: expected call not found.
Expected: _comment_on_tracker(<ANY>, <MagicMock name='mock.bug_trackers()._client.issue()' spec='Issue' id='140119017456688'>, <ANY>, <ANY>)
Actual: _comment_on_tracker(<MagicMock name='mock.get_bug_tracker()._client' id='140119066542288'>, <MagicMock name='mock.get_bug_tracker()._client.issue()' id='140119017413792'>, <MagicMock name='mock.build_retrying_koji_client()' id='140119017802624'>, TargetJiraConfig(project='OCPBUGS', component='RHCOS', version='4.14', target_release='4.14.0', candidate_brew_tag='rhaos-4.14-rhel-9-candidate', prod_brew_tag='rhaos-4.14-rhel-9'))

======================================================================
FAIL: test_run_with_specified_issues (tests.test_find_bugs_kernel_clones_cli.TestFindBugsKernelClonesCli)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.8/unittest/async_case.py", line 65, in _callTestMethod
    self._callMaybeAsync(method)
  File "/usr/lib64/python3.8/unittest/async_case.py", line 88, in _callMaybeAsync
    return self._asyncioTestLoop.run_until_complete(fut)
  File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/lib64/python3.8/unittest/async_case.py", line 102, in _asyncioLoopRunner
    ret = await awaitable
  File "/usr/lib64/python3.8/unittest/mock.py", line 1342, in patched
    return await func(*newargs, **newkeywargs)
  File "/mnt/workspace/jenkins/working/art-tools_elliott_PR-581/tests/test_find_bugs_kernel_clones_cli.py", line 255, in test_run_with_specified_issues
    _update_jira_issues.assert_called_once_with(jira_client, found_issues, ANY, ANY)
  File "/usr/lib64/python3.8/unittest/mock.py", line 925, in assert_called_once_with
    return self.assert_called_with(*args, **kwargs)
  File "/usr/lib64/python3.8/unittest/mock.py", line 913, in assert_called_with
    raise AssertionError(_error_message()) from cause
AssertionError: expected call not found.
Expected: _update_jira_issues(<MagicMock name='mock.bug_trackers()._client' id='140119017068048'>, [<MagicMock spec='Issue' id='140119016260464'>, <MagicMock spec='Issue' id='140119016293712'>, <MagicMock spec='Issue' id='140119016318768'>], <ANY>, <ANY>)
Actual: _update_jira_issues(<MagicMock name='mock.get_bug_tracker()._client' id='140119016413312'>, [<MagicMock spec='Issue' id='140119016260464'>, <MagicMock spec='Issue' id='140119016293712'>, <MagicMock spec='Issue' id='140119016318768'>], <MagicMock name='mock.build_retrying_koji_client()' id='140119017952400'>, KernelBugSweepConfig(tracker_jira=TrackerJiraConfig(project='KMAINT', labels=['early-kernel-track']), bugzilla=BugzillaConfig(target_releases=['9.2.0']), target_jira=TargetJiraConfig(project='OCPBUGS', component='RHCOS', version='4.14', target_release='4.14.0', candidate_brew_tag='rhaos-4.14-rhel-9-candidate', prod_brew_tag='rhaos-4.14-rhel-9')))

======================================================================
FAIL: test_run_without_specified_issues (tests.test_find_bugs_kernel_clones_cli.TestFindBugsKernelClonesCli)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.8/unittest/async_case.py", line 65, in _callTestMethod
    self._callMaybeAsync(method)
  File "/usr/lib64/python3.8/unittest/async_case.py", line 88, in _callMaybeAsync
    return self._asyncioTestLoop.run_until_complete(fut)
  File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/lib64/python3.8/unittest/async_case.py", line 102, in _asyncioLoopRunner
    ret = await awaitable
  File "/usr/lib64/python3.8/unittest/mock.py", line 1342, in patched
    return await func(*newargs, **newkeywargs)
  File "/mnt/workspace/jenkins/working/art-tools_elliott_PR-581/tests/test_find_bugs_kernel_clones_cli.py", line 192, in test_run_without_specified_issues
    _update_jira_issues.assert_called_once_with(jira_client, found_issues, ANY, ANY)
  File "/usr/lib64/python3.8/unittest/mock.py", line 925, in assert_called_once_with
    return self.assert_called_with(*args, **kwargs)
  File "/usr/lib64/python3.8/unittest/mock.py", line 913, in assert_called_with
    raise AssertionError(_error_message()) from cause
AssertionError: expected call not found.
Expected: _update_jira_issues(<MagicMock name='mock.bug_trackers()._client' id='140119016651168'>, [<MagicMock spec='Issue' id='140119016748176'>, <MagicMock spec='Issue' id='140119015990800'>, <MagicMock spec='Issue' id='140119016019952'>], <ANY>, <ANY>)
Actual: _update_jira_issues(<MagicMock name='mock.get_bug_tracker()._client' id='140119016110400'>, [<MagicMock spec='Issue' id='140119016748176'>, <MagicMock spec='Issue' id='140119015990800'>, <MagicMock spec='Issue' id='140119016019952'>], <MagicMock name='mock.build_retrying_koji_client()' id='140119016138640'>, KernelBugSweepConfig(tracker_jira=TrackerJiraConfig(project='KMAINT', labels=['early-kernel-track']), bugzilla=BugzillaConfig(target_releases=['9.2.0']), target_jira=TargetJiraConfig(project='OCPBUGS', component='RHCOS', version='4.14', target_release='4.14.0', candidate_brew_tag='rhaos-4.14-rhel-9-candidate', prod_brew_tag='rhaos-4.14-rhel-9')))

----------------------------------------------------------------------
Ran 194 tests in 1.289s

FAILED (failures=3)
py38: exit 1 (2.35 seconds) /mnt/workspace/jenkins/working/art-tools_elliott_PR-581> coverage run --branch --source elliottlib -m unittest discover -t . -s tests/ pid=234
.pkg: _exit> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
  py38: FAIL code 1 (37.28=setup[34.93]+cmd[2.35] seconds)
  evaluation failed :( (37.61 seconds)
openshift-bot commented 1 year ago

Build #2

.pkg: _optional_hooks> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: get_requires_for_build_sdist> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: freeze> python -m pip freeze --all
.pkg: pip==23.2.1,setuptools==68.0.0,wheel==0.41.0
.pkg: build_sdist> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
py38: recreate env because dependencies removed: errata-tool@ git+https://github.com/red-hat-storage/errata-tool@v1.31.0
py38: remove tox env folder /mnt/workspace/jenkins/working/art-tools_elliott_PR-581/.tox/py38
py38: install_deps> python -I -m pip install '.[tests]'
py38: install_package_deps> python -I -m pip install 'aiohttp[speedups]>=3.6' 'click>=8.1.3' 'errata-tool~=1.31.0' future 'jira>=3.4.1' 'koji>=1.18' 'pydantic~=1.10.7' pygit2==1.10.1 'python-bugzilla>=3.2' pyyaml requests 'requests-gssapi~=1.2.3' ruamel.yaml semver tenacity
py38: install_package> python -I -m pip install --force-reinstall --no-deps /mnt/workspace/jenkins/working/art-tools_elliott_PR-581/.tox/.tmp/package/3/rh-elliott-0.0.0.tar.gz
py38: commands[0]> coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
..............................................Cannot find any corresponding flaw bugs for these trackers: [13]. These trackers do not have a valid whiteboard component value: [12].
..BZ 9 is ignored because its status was MODIFIED at the moment of sweep cutoff (2021-06-30 12:30:00), however its status changed back to ['ASSIGNED'] afterwards
..................................................................................................................................................
----------------------------------------------------------------------
Ran 194 tests in 1.240s

OK
To fix missing builds in other advisories:
elliott move-builds -k image --from 42 --to <target_advisory> --only operand-nvr-1-0
py38: commands[1]> coverage report
Name                                              Stmts   Miss Branch BrPart  Cover
-----------------------------------------------------------------------------------
elliottlib/__init__.py                               12      7      2      1    43%
elliottlib/assembly.py                              131     39     76      7    67%
elliottlib/assertion.py                              11      0      6      0   100%
elliottlib/brew.py                                  336    195    134      5    36%
elliottlib/build_finder.py                          114     12     74     15    86%
elliottlib/bzutil.py                                867    354    346     28    55%
elliottlib/cincinnati.py                             21     21      4      0     0%
elliottlib/cli/__init__.py                            0      0      0      0   100%
elliottlib/cli/__main__.py                          278    278     75      0     0%
elliottlib/cli/add_metadata_cli.py                   28     28      4      0     0%
elliottlib/cli/advisory_commons_cli.py               90     90     38      0     0%
elliottlib/cli/advisory_drop_cli.py                  39     39     14      0     0%
elliottlib/cli/advisory_images_cli.py                14     14      2      0     0%
elliottlib/cli/advisory_impetus_cli.py               22     22      6      0     0%
elliottlib/cli/attach_bugs_cli.py                    37     37     18      0     0%
elliottlib/cli/attach_cve_flaws_cli.py              130     65     60      9    46%
elliottlib/cli/change_state_cli.py                   44     44     16      0     0%
elliottlib/cli/cli_opts.py                           15      0     17      0   100%
elliottlib/cli/common.py                             48     12      6      1    69%
elliottlib/cli/create_cli.py                         70     70     20      0     0%
elliottlib/cli/create_placeholder_cli.py             36     36     12      0     0%
elliottlib/cli/create_textonly_cli.py                51     51      8      0     0%
elliottlib/cli/find_bugs_blocker_cli.py              43      4     10      3    87%
elliottlib/cli/find_bugs_kernel_cli.py              220     22     87     22    85%
elliottlib/cli/find_bugs_kernel_clones_cli.py       177     30     85     22    79%
elliottlib/cli/find_bugs_qe_cli.py                   44     12     14      1    67%
elliottlib/cli/find_bugs_sweep_cli.py               229     35    130     22    82%
elliottlib/cli/find_builds_cli.py                   269    200    179      2    19%
elliottlib/cli/find_unconsumed_rpms.py               98     98     56      0     0%
elliottlib/cli/get_golang_versions_cli.py            59     14     32      9    73%
elliottlib/cli/list_cli.py                           14     14      2      0     0%
elliottlib/cli/move_builds_cli.py                    44     44     16      0     0%
elliottlib/cli/puddle_advisories_cli.py              34     34      8      0     0%
elliottlib/cli/remove_bugs_cli.py                    45      6     14      6    80%
elliottlib/cli/repair_bugs_cli.py                    61      5     26      6    87%
elliottlib/cli/rhcos_cli.py                          93     93     52      0     0%
elliottlib/cli/rpmdiff_cli.py                       102    102     34      0     0%
elliottlib/cli/tag_builds_cli.py                    128    128     62      0     0%
elliottlib/cli/tarball_sources_cli.py                83     83     26      0     0%
elliottlib/cli/validate_rhsa.py                      45     45     16      0     0%
elliottlib/cli/verify_attached_bugs_cli.py          266     95    173     20    57%
elliottlib/cli/verify_attached_operators_cli.py     159     56     80      5    59%
elliottlib/cli/verify_cvp_cli.py                    166    166     78      0     0%
elliottlib/config_model.py                           22      0      0      0   100%
elliottlib/constants.py                              52      0      0      0   100%
elliottlib/cvp.py                                   216    216    113      0     0%
elliottlib/dotconfig.py                              54     11     30      6    75%
elliottlib/errata.py                                344    221    150      4    32%
elliottlib/errata_async.py                          160     19     60      8    87%
elliottlib/exceptions.py                             12      0      0      0   100%
elliottlib/exectools.py                              84      7     24      3    89%
elliottlib/gitdata.py                               171    137     76      0    14%
elliottlib/imagecfg.py                               21      2      0      0    90%
elliottlib/logutil.py                                 9      1      2      1    82%
elliottlib/metadata.py                              154     43     76     18    67%
elliottlib/model.py                                 105     22     30      2    79%
elliottlib/openshiftclient.py                        34     34      8      0     0%
elliottlib/pushd.py                                  21      0      2      0   100%
elliottlib/resultsdb.py                              28     28      4      0     0%
elliottlib/rhcos.py                                  80     80     16      0     0%
elliottlib/rpm_utils.py                              30     14     16      5    46%
elliottlib/rpmcfg.py                                  5      2      0      0    60%
elliottlib/rpmdiff.py                                31      0      0      0   100%
elliottlib/runtime.py                               280    203    106      2    22%
elliottlib/tarball_sources.py                        90     61     34      0    30%
elliottlib/util.py                                  297    139    110     15    50%
-----------------------------------------------------------------------------------
TOTAL                                              7073   3940   2975    248    41%
py38: commands[2]> flake8
.pkg: _exit> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
  py38: OK (33.72=setup[29.80]+cmd[2.28,0.98,0.66] seconds)
  congratulations :) (34.03 seconds)
thegreyd commented 1 year ago

There's a part in story which says This comment should happen exactly once per bug. There are cases when a bug is moved back to modified/assigned, where we might repeat ourselves

thegreyd commented 1 year ago

I'm not too hung up on that part, since right now we do the same with other comments (post everytime we move to qe). So not a blocker imo

locriandev commented 1 year ago

I'm not too hung up on that part, since right now we do the same with other comments (post everytime we move to qe). So not a blocker imo

Agree, I thought we could afford repeating ourselves in these cases