openshift-eng / elliott

Apache License 2.0
15 stars 28 forks source link

Verify bugs are not attached to multiple advisories #465

Closed thegreyd closed 1 year ago

thegreyd commented 1 year ago

We can have a case where a non flaw bug can be attached to multiple advisories

curl -sSL --negotiate --user : https://errata.devel.redhat.com/jira_issues/OCPBUGS-35
71/advisories.json | jq -r '.[].advisory_name'

Verify that's not the case. Placeholder bugs are excluded so they are not included in this check, so you won't see the above bug as a complain, but this should catch any other bugs.

Test

openshift-bot commented 1 year ago

Build #1

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/setup.py
py38 create: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/py38
py38 installdeps: -rrequirements-dev.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/.tmp/package/1/rh-elliott-2.0.14.dev186+g8c898fb.zip
py38 installed: aiodns==3.0.0,aiohttp==3.8.3,aiosignal==1.3.1,astroid==2.12.13,async-timeout==4.0.2,attrs==22.1.0,Brotli==1.0.9,cchardet==2.1.7,certifi==2022.9.24,cffi==1.15.1,charset-normalizer==2.1.1,click==8.1.3,coverage==6.5.0,cryptography==38.0.3,decorator==5.1.1,defusedxml==0.7.1,dill==0.3.6,distlib==0.3.6,errata-tool==1.29.0,exceptiongroup==1.0.4,filelock==3.8.0,flake8==5.0.4,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.2,gssapi==1.8.2,idna==3.4,iniconfig==1.1.1,isort==5.10.1,jira==3.4.1,jsonpath-rw==1.4.0,koji==1.31.0,krb5==0.4.1,lazy-object-proxy==1.8.0,mccabe==0.7.0,mock==4.0.3,multidict==6.0.2,mypy==0.991,mypy-extensions==0.4.3,oauthlib==3.2.2,packaging==21.3,platformdirs==2.5.4,pluggy==1.0.0,ply==3.11,py==1.11.0,pycares==4.2.2,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pygit2==1.10.1,pylint==2.15.6,pyparsing==3.0.9,pyspnego==0.6.3,pytest==7.2.0,python-bugzilla==3.2.0,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-kerberos==0.14.0,requests-oauthlib==1.3.1,requests-toolbelt==0.10.1,rh-elliott @ file:///mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/.tmp/package/1/rh-elliott-2.0.14.dev186%2Bg8c898fb.zip,ruamel.yaml==0.17.21,ruamel.yaml.clib==0.2.7,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,tomli==2.0.1,tomlkit==0.11.6,tox==3.27.1,typing_extensions==4.4.0,urllib3==1.26.12,virtualenv==20.16.7,wrapt==1.14.1,yarl==1.8.1
py38 run-test-pre: PYTHONHASHSEED='3009242951'
py38 run-test: commands[0] | coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
................................................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
.....................No flaw bugs could be found for these trackers: {'OCPBUGS-2'}
...changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
..changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
........................../mnt/workspace/jenkins/working/art-tools_elliott_PR-465/elliottlib/errata_async.py:39: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
  resp.raise_for_status()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
...................../mnt/workspace/jenkins/working/art-tools_elliott_PR-465/elliottlib/cli/find_bugs_sweep_cli.py:263: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
  logger.warn(f"Bug {warning_bug} has CVE number in summary but does not have tracker keywords")
Bug ['OCPBUGS-4', 'OCPBUGS-5'] has CVE number in summary but does not have tracker keywords
...........................................
----------------------------------------------------------------------
Ran 168 tests in 0.708s

OK
py38 run-test: commands[1] | coverage report
Name                                              Stmts   Miss Branch BrPart  Cover
-----------------------------------------------------------------------------------
elliottlib/__init__.py                                8      2      2      1    70%
elliottlib/assembly.py                               92      9     54      7    89%
elliottlib/assertion.py                              11      0      6      0   100%
elliottlib/brew.py                                  328    188    134      5    36%
elliottlib/bug/__init__.py                            0      0      0      0   100%
elliottlib/build_finder.py                          114     12     74     15    86%
elliottlib/bzutil.py                                759    293    316     19    57%
elliottlib/cincinnati.py                             21     21      4      0     0%
elliottlib/cli/__init__.py                            0      0      0      0   100%
elliottlib/cli/__main__.py                          274    274     75      0     0%
elliottlib/cli/add_metadata_cli.py                   33     33      4      0     0%
elliottlib/cli/advisory_commons_cli.py               90     90     38      0     0%
elliottlib/cli/advisory_drop_cli.py                  21     21      2      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              129     64     56      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             40     40     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_qe_cli.py                   36      4      6      0    90%
elliottlib/cli/find_bugs_sweep_cli.py               198     30    112     20    81%
elliottlib/cli/find_builds_cli.py                   263    195    173      2    19%
elliottlib/cli/get_golang_versions_cli.py            56     21     32      5    50%
elliottlib/cli/list_cli.py                           17     17      4      0     0%
elliottlib/cli/puddle_advisories_cli.py              37     37     10      0     0%
elliottlib/cli/remove_bugs_cli.py                    50      8     14      6    78%
elliottlib/cli/repair_bugs_cli.py                    61      5     26      6    87%
elliottlib/cli/rhcos_cli.py                          97     97     54      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                      42     42     12      0     0%
elliottlib/cli/verify_attached_bugs_cli.py          251     90    165     16    57%
elliottlib/cli/verify_attached_operators_cli.py     122     88     55      0    19%
elliottlib/cli/verify_cvp_cli.py                    165    165     78      0     0%
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                                319    204    136      4    33%
elliottlib/errata_async.py                          107      6     38      6    92%
elliottlib/exceptions.py                             12      0      0      0   100%
elliottlib/exectools.py                              84     13     24      3    83%
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                                  55     55     12      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                               278    202    106      2    22%
elliottlib/tarball_sources.py                        90     61     34      0    30%
elliottlib/util.py                                  303    168    112      9    41%
-----------------------------------------------------------------------------------
TOTAL                                              6151   3632   2562    171    38%
py38 run-test: commands[2] | flake8
./elliottlib/cli/verify_attached_bugs_cli.py:157:21: F541 f-string is missing placeholders
ERROR: InvocationError for command /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/py38/bin/flake8 (exited with code 1)
___________________________________ summary ____________________________________
ERROR:   py38: commands failed
openshift-bot commented 1 year ago

Build #2

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/setup.py
py38 recreate: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/py38
py38 installdeps: -rrequirements-dev.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/.tmp/package/1/rh-elliott-2.0.14.dev187+g571a6f7.zip
py38 installed: aiodns==3.0.0,aiohttp==3.8.3,aiosignal==1.3.1,astroid==2.12.13,async-timeout==4.0.2,attrs==22.1.0,Brotli==1.0.9,cchardet==2.1.7,certifi==2022.9.24,cffi==1.15.1,charset-normalizer==2.1.1,click==8.1.3,coverage==6.5.0,cryptography==38.0.3,decorator==5.1.1,defusedxml==0.7.1,dill==0.3.6,distlib==0.3.6,errata-tool==1.29.0,exceptiongroup==1.0.4,filelock==3.8.0,flake8==5.0.4,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.2,gssapi==1.8.2,idna==3.4,iniconfig==1.1.1,isort==5.10.1,jira==3.4.1,jsonpath-rw==1.4.0,koji==1.31.0,krb5==0.4.1,lazy-object-proxy==1.8.0,mccabe==0.7.0,mock==4.0.3,multidict==6.0.2,mypy==0.991,mypy-extensions==0.4.3,oauthlib==3.2.2,packaging==21.3,platformdirs==2.5.4,pluggy==1.0.0,ply==3.11,py==1.11.0,pycares==4.2.2,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pygit2==1.10.1,pylint==2.15.6,pyparsing==3.0.9,pyspnego==0.6.3,pytest==7.2.0,python-bugzilla==3.2.0,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-kerberos==0.14.0,requests-oauthlib==1.3.1,requests-toolbelt==0.10.1,rh-elliott @ file:///mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/.tmp/package/1/rh-elliott-2.0.14.dev187%2Bg571a6f7.zip,ruamel.yaml==0.17.21,ruamel.yaml.clib==0.2.7,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,tomli==2.0.1,tomlkit==0.11.6,tox==3.27.1,typing_extensions==4.4.0,urllib3==1.26.12,virtualenv==20.16.7,wrapt==1.14.1,yarl==1.8.1
py38 run-test-pre: PYTHONHASHSEED='505385425'
py38 run-test: commands[0] | coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
................................................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
.....................No flaw bugs could be found for these trackers: {'OCPBUGS-2'}
...changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
..changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
........................../mnt/workspace/jenkins/working/art-tools_elliott_PR-465/elliottlib/errata_async.py:39: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
  resp.raise_for_status()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
...................../mnt/workspace/jenkins/working/art-tools_elliott_PR-465/elliottlib/cli/find_bugs_sweep_cli.py:263: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
  logger.warn(f"Bug {warning_bug} has CVE number in summary but does not have tracker keywords")
Bug ['OCPBUGS-4', 'OCPBUGS-5'] has CVE number in summary but does not have tracker keywords
...........................................
----------------------------------------------------------------------
Ran 168 tests in 0.706s

OK
py38 run-test: commands[1] | coverage report
Name                                              Stmts   Miss Branch BrPart  Cover
-----------------------------------------------------------------------------------
elliottlib/__init__.py                                8      2      2      1    70%
elliottlib/assembly.py                               92      9     54      7    89%
elliottlib/assertion.py                              11      0      6      0   100%
elliottlib/brew.py                                  328    188    134      5    36%
elliottlib/bug/__init__.py                            0      0      0      0   100%
elliottlib/build_finder.py                          114     12     74     15    86%
elliottlib/bzutil.py                                759    293    316     19    57%
elliottlib/cincinnati.py                             21     21      4      0     0%
elliottlib/cli/__init__.py                            0      0      0      0   100%
elliottlib/cli/__main__.py                          274    274     75      0     0%
elliottlib/cli/add_metadata_cli.py                   33     33      4      0     0%
elliottlib/cli/advisory_commons_cli.py               90     90     38      0     0%
elliottlib/cli/advisory_drop_cli.py                  21     21      2      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              129     64     56      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             40     40     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_qe_cli.py                   36      4      6      0    90%
elliottlib/cli/find_bugs_sweep_cli.py               198     30    112     20    81%
elliottlib/cli/find_builds_cli.py                   263    195    173      2    19%
elliottlib/cli/get_golang_versions_cli.py            56     21     32      5    50%
elliottlib/cli/list_cli.py                           17     17      4      0     0%
elliottlib/cli/puddle_advisories_cli.py              37     37     10      0     0%
elliottlib/cli/remove_bugs_cli.py                    50      8     14      6    78%
elliottlib/cli/repair_bugs_cli.py                    61      5     26      6    87%
elliottlib/cli/rhcos_cli.py                          97     97     54      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                      42     42     12      0     0%
elliottlib/cli/verify_attached_bugs_cli.py          251     90    165     16    57%
elliottlib/cli/verify_attached_operators_cli.py     122     88     55      0    19%
elliottlib/cli/verify_cvp_cli.py                    165    165     78      0     0%
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                                319    204    136      4    33%
elliottlib/errata_async.py                          107      6     38      6    92%
elliottlib/exceptions.py                             12      0      0      0   100%
elliottlib/exectools.py                              84     13     24      3    83%
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                                  55     55     12      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                               278    202    106      2    22%
elliottlib/tarball_sources.py                        90     61     34      0    30%
elliottlib/util.py                                  303    168    112      9    41%
-----------------------------------------------------------------------------------
TOTAL                                              6151   3632   2562    171    38%
py38 run-test: commands[2] | flake8
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)
openshift-bot commented 1 year ago

Build #3

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/setup.py
py38 recreate: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/py38
py38 installdeps: -rrequirements-dev.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/.tmp/package/1/rh-elliott-2.0.14.dev189+g0919be0.zip
py38 installed: aiodns==3.0.0,aiohttp==3.8.3,aiosignal==1.3.1,astroid==2.12.13,async-timeout==4.0.2,attrs==22.1.0,Brotli==1.0.9,cchardet==2.1.7,certifi==2022.9.24,cffi==1.15.1,charset-normalizer==2.1.1,click==8.1.3,coverage==6.5.0,cryptography==38.0.3,decorator==5.1.1,defusedxml==0.7.1,dill==0.3.6,distlib==0.3.6,errata-tool==1.29.0,exceptiongroup==1.0.4,filelock==3.8.0,flake8==5.0.4,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.2,gssapi==1.8.2,idna==3.4,iniconfig==1.1.1,isort==5.10.1,jira==3.4.1,jsonpath-rw==1.4.0,koji==1.31.0,krb5==0.4.1,lazy-object-proxy==1.8.0,mccabe==0.7.0,mock==4.0.3,multidict==6.0.2,mypy==0.991,mypy-extensions==0.4.3,oauthlib==3.2.2,packaging==21.3,platformdirs==2.5.4,pluggy==1.0.0,ply==3.11,py==1.11.0,pycares==4.2.2,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pygit2==1.10.1,pylint==2.15.6,pyparsing==3.0.9,pyspnego==0.6.3,pytest==7.2.0,python-bugzilla==3.2.0,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-kerberos==0.14.0,requests-oauthlib==1.3.1,requests-toolbelt==0.10.1,rh-elliott @ file:///mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/.tmp/package/1/rh-elliott-2.0.14.dev189%2Bg0919be0.zip,ruamel.yaml==0.17.21,ruamel.yaml.clib==0.2.7,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,tomli==2.0.1,tomlkit==0.11.6,tox==3.27.1,typing_extensions==4.4.0,urllib3==1.26.12,virtualenv==20.16.7,wrapt==1.14.1,yarl==1.8.1
py38 run-test-pre: PYTHONHASHSEED='317952492'
py38 run-test: commands[0] | coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
................................................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
.....................No flaw bugs could be found for these trackers: {'OCPBUGS-2'}
...changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
..changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
........................../mnt/workspace/jenkins/working/art-tools_elliott_PR-465/elliottlib/errata_async.py:39: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
  resp.raise_for_status()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
...................../mnt/workspace/jenkins/working/art-tools_elliott_PR-465/elliottlib/cli/find_bugs_sweep_cli.py:263: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
  logger.warn(f"Bug {warning_bug} has CVE number in summary but does not have tracker keywords")
Bug ['OCPBUGS-4', 'OCPBUGS-5'] has CVE number in summary but does not have tracker keywords
...........................................
----------------------------------------------------------------------
Ran 168 tests in 0.758s

OK
py38 run-test: commands[1] | coverage report
Name                                              Stmts   Miss Branch BrPart  Cover
-----------------------------------------------------------------------------------
elliottlib/__init__.py                                8      2      2      1    70%
elliottlib/assembly.py                               92      9     54      7    89%
elliottlib/assertion.py                              11      0      6      0   100%
elliottlib/brew.py                                  328    188    134      5    36%
elliottlib/bug/__init__.py                            0      0      0      0   100%
elliottlib/build_finder.py                          114     12     74     15    86%
elliottlib/bzutil.py                                756    293    316     19    57%
elliottlib/cincinnati.py                             21     21      4      0     0%
elliottlib/cli/__init__.py                            0      0      0      0   100%
elliottlib/cli/__main__.py                          274    274     75      0     0%
elliottlib/cli/add_metadata_cli.py                   33     33      4      0     0%
elliottlib/cli/advisory_commons_cli.py               90     90     38      0     0%
elliottlib/cli/advisory_drop_cli.py                  21     21      2      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              129     64     56      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             40     40     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_qe_cli.py                   36      4      6      0    90%
elliottlib/cli/find_bugs_sweep_cli.py               198     30    112     20    81%
elliottlib/cli/find_builds_cli.py                   263    195    173      2    19%
elliottlib/cli/get_golang_versions_cli.py            56     21     32      5    50%
elliottlib/cli/list_cli.py                           17     17      4      0     0%
elliottlib/cli/puddle_advisories_cli.py              37     37     10      0     0%
elliottlib/cli/remove_bugs_cli.py                    50      8     14      6    78%
elliottlib/cli/repair_bugs_cli.py                    61      5     26      6    87%
elliottlib/cli/rhcos_cli.py                          97     97     54      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                      42     42     12      0     0%
elliottlib/cli/verify_attached_bugs_cli.py          256     94    169     16    56%
elliottlib/cli/verify_attached_operators_cli.py     122     88     55      0    19%
elliottlib/cli/verify_cvp_cli.py                    165    165     78      0     0%
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                                319    204    136      4    33%
elliottlib/errata_async.py                          107      6     38      6    92%
elliottlib/exceptions.py                             12      0      0      0   100%
elliottlib/exectools.py                              84     13     24      3    83%
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                                  55     55     12      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                               278    202    106      2    22%
elliottlib/tarball_sources.py                        90     61     34      0    30%
elliottlib/util.py                                  303    168    112      9    41%
-----------------------------------------------------------------------------------
TOTAL                                              6153   3636   2566    171    38%
py38 run-test: commands[2] | flake8
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)
Ximinhan commented 1 year ago

/lgtm

Ximinhan commented 1 year ago

do we need to add a limit to the length of bug list?

openshift-ci[bot] commented 1 year ago

New changes are detected. LGTM label has been removed.

openshift-bot commented 1 year ago

Build #4

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/setup.py
py38 recreate: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/py38
py38 installdeps: -rrequirements-dev.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/.tmp/package/1/rh-elliott-2.0.14.dev190+g5568278.zip
py38 installed: aiodns==3.0.0,aiohttp==3.8.3,aiosignal==1.3.1,astroid==2.12.13,async-timeout==4.0.2,attrs==22.1.0,Brotli==1.0.9,cchardet==2.1.7,certifi==2022.9.24,cffi==1.15.1,charset-normalizer==2.1.1,click==8.1.3,coverage==6.5.0,cryptography==38.0.3,decorator==5.1.1,defusedxml==0.7.1,dill==0.3.6,distlib==0.3.6,errata-tool==1.29.0,exceptiongroup==1.0.4,filelock==3.8.0,flake8==5.0.4,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.2,gssapi==1.8.2,idna==3.4,iniconfig==1.1.1,isort==5.10.1,jira==3.4.1,jsonpath-rw==1.4.0,koji==1.31.0,krb5==0.4.1,lazy-object-proxy==1.8.0,mccabe==0.7.0,mock==4.0.3,multidict==6.0.2,mypy==0.991,mypy-extensions==0.4.3,oauthlib==3.2.2,packaging==21.3,platformdirs==2.5.4,pluggy==1.0.0,ply==3.11,py==1.11.0,pycares==4.2.2,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pygit2==1.10.1,pylint==2.15.6,pyparsing==3.0.9,pyspnego==0.6.3,pytest==7.2.0,python-bugzilla==3.2.0,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-kerberos==0.14.0,requests-oauthlib==1.3.1,requests-toolbelt==0.10.1,rh-elliott @ file:///mnt/workspace/jenkins/working/art-tools_elliott_PR-465/.tox/.tmp/package/1/rh-elliott-2.0.14.dev190%2Bg5568278.zip,ruamel.yaml==0.17.21,ruamel.yaml.clib==0.2.7,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,tomli==2.0.1,tomlkit==0.11.6,tox==3.27.1,typing_extensions==4.4.0,urllib3==1.26.12,virtualenv==20.16.7,wrapt==1.14.1,yarl==1.8.1
py38 run-test-pre: PYTHONHASHSEED='280701530'
py38 run-test: commands[0] | coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
................................................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
.....................No flaw bugs could be found for these trackers: {'OCPBUGS-2'}
...changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
..changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
........................../mnt/workspace/jenkins/working/art-tools_elliott_PR-465/elliottlib/errata_async.py:39: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
  resp.raise_for_status()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
...................../mnt/workspace/jenkins/working/art-tools_elliott_PR-465/elliottlib/cli/find_bugs_sweep_cli.py:263: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
  logger.warn(f"Bug {warning_bug} has CVE number in summary but does not have tracker keywords")
Bug ['OCPBUGS-4', 'OCPBUGS-5'] has CVE number in summary but does not have tracker keywords
...........................................
----------------------------------------------------------------------
Ran 168 tests in 0.771s

OK
py38 run-test: commands[1] | coverage report
Name                                              Stmts   Miss Branch BrPart  Cover
-----------------------------------------------------------------------------------
elliottlib/__init__.py                                8      2      2      1    70%
elliottlib/assembly.py                               92      9     54      7    89%
elliottlib/assertion.py                              11      0      6      0   100%
elliottlib/brew.py                                  328    188    134      5    36%
elliottlib/bug/__init__.py                            0      0      0      0   100%
elliottlib/build_finder.py                          114     12     74     15    86%
elliottlib/bzutil.py                                756    293    316     19    57%
elliottlib/cincinnati.py                             21     21      4      0     0%
elliottlib/cli/__init__.py                            0      0      0      0   100%
elliottlib/cli/__main__.py                          274    274     75      0     0%
elliottlib/cli/add_metadata_cli.py                   33     33      4      0     0%
elliottlib/cli/advisory_commons_cli.py               90     90     38      0     0%
elliottlib/cli/advisory_drop_cli.py                  21     21      2      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              129     64     56      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             40     40     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_qe_cli.py                   36      4      6      0    90%
elliottlib/cli/find_bugs_sweep_cli.py               198     30    112     20    81%
elliottlib/cli/find_builds_cli.py                   263    195    173      2    19%
elliottlib/cli/get_golang_versions_cli.py            56     21     32      5    50%
elliottlib/cli/list_cli.py                           17     17      4      0     0%
elliottlib/cli/puddle_advisories_cli.py              37     37     10      0     0%
elliottlib/cli/remove_bugs_cli.py                    50      8     14      6    78%
elliottlib/cli/repair_bugs_cli.py                    61      5     26      6    87%
elliottlib/cli/rhcos_cli.py                          97     97     54      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                      42     42     12      0     0%
elliottlib/cli/verify_attached_bugs_cli.py          256     94    169     16    56%
elliottlib/cli/verify_attached_operators_cli.py     122     88     55      0    19%
elliottlib/cli/verify_cvp_cli.py                    165    165     78      0     0%
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                                319    204    136      4    33%
elliottlib/errata_async.py                          107      6     38      6    92%
elliottlib/exceptions.py                             12      0      0      0   100%
elliottlib/exectools.py                              84     13     24      3    83%
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                                  55     55     12      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                               278    202    106      2    22%
elliottlib/tarball_sources.py                        90     61     34      0    30%
elliottlib/util.py                                  303    168    112      9    41%
-----------------------------------------------------------------------------------
TOTAL                                              6153   3636   2566    171    38%
py38 run-test: commands[2] | flake8
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)
thegreyd commented 1 year ago

Don't think we need a limit, I'm testing it on the GA advisories and it's working as expected.