Giter Club home page Giter Club logo

integration-tests's Introduction

Integration tests for Thoth

This repo implements integration tests which can be executed against a Thoth deployment.

Running integration tests

The integration testsuite is written in behave using Gherkin language.

./app.py

The command above will trigger installation of all the necessary libraries and executing the test-suite in a virtual environment. By default, test environment is tested with integration tests. The script above can be parametrized using the following environment variables:

  • THOTH_USER_API_HOST - the HOST to deployment where User API sits
  • THOTH_MANAGEMENT_API_HOST - the HOST to deployment where Management API sits
  • THOTH_AMUN_API_HOST - the HOST to deployment where Amun API sits
  • THOTH_MANAGEMENT_API_SECRET - the secret to schedule solver analysis
  • SEND_EMAIL - if set to 1, an e-mail report is sent with integration test results
    • THOTH_DEPLOYMENT_NAME - specifies deployment name used (shown in the subject)
    • THOTH_EMAIL_SMTP_SERVER - SMTP server to be used for sending the e-mail
    • THOTH_EMAIL_TO - e-mail recipient
    • THOTH_EMAIL_FROM - sender configuration

Examples

Run integration tests against stage deployment:

THOTH_USER_API_HOST=stage.thoth-station.ninja THOTH_MANAGEMENT_API_HOST=management.stage.thoth-station.ninja THOTH_AMUN_API_HOST=amun.stage.thoth-station.ninja ./app.py

Run integration tests against test deployment (default behaviour):

THOTH_USER_API_HOST=test.thoth-station.ninja THOTH_MANAGEMENT_API_HOST=management.test.thoth-station.ninja THOTH_AMUN_API_HOST=amun.test.thoth-station.ninja ./app.py

If you want to run a single feature test:

app.py -i <feature name>.feature

If you want to run a single scenario test:

app.py -i <feature name> -n '<scenario name>'

integration-tests's People

Contributors

bissenbay avatar codificat avatar dependabot[bot] avatar eldritchjs avatar fridex avatar goern avatar harshad16 avatar khebhut[bot] avatar mayacostantini avatar saisankargochhayat avatar sesheta avatar vannten avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

integration-tests's Issues

Prow is not merging PR.

Describe the bug
Prow tide is not merging the PR's even though all the compliance has been met.

To Reproduce
Steps to reproduce the behavior:

  1. Open a PR and check the merge feature

Expected behavior
Prow tide merges PR, once the pr is been approved

Additional context
#29 #23

Tag tests which require available namespaces to succeed

Is your feature request related to a problem? Please describe.

When running integration tests against deployment that has namespaces busy with the already scheduled workload, they timeout from time to time as the namespace is not available.

Describe the solution you'd like

Tag tests that require available resources and run them coniditionally based on configuration.

AMUN API HOST unset

Describe the bug

  Scenario: Browsing logs of container images builds during Amun inspection jobs  # features/aggregate_build_logs.feature:3
    Given amun service is accessible using HTTP                                   # features/steps/amun_api.py:42 0.000s
      Traceback (most recent call last):
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/behave/model.py", line 1329, in run
          match.run(runner.context)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/behave/matchers.py", line 98, in run
          self.func(context, *args, **kwargs)
        File "features/steps/amun_api.py", line 49, in amun_accessible
          context.amun_api_host = f"{scheme}://{os.environ['THOTH_AMUN_API_HOST']}/api/v1"
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib64/python3.6/os.py", line 669, in __getitem__
          raise KeyError(key) from None
      KeyError: 'THOTH_AMUN_API_HOST'

To Reproduce
Steps to reproduce the behavior:

  1. clone this repo
  2. run ./test.sh

Submitting to amun fails in test

Describe the bug

When an amun inspection job is scheduled (1.204s)

Traceback (most recent call last):
  File "/opt/app-root/lib64/python3.8/site-packages/behave/model.py", line 1329, in run
    match.run(runner.context)
  File "/opt/app-root/lib64/python3.8/site-packages/behave/matchers.py", line 98, in run
    self.func(context, *args, **kwargs)
  File "features/steps/amun_api.py", line 92, in amun_schedule
    api_response = api_instance.post_inspection(specification)
  File "/opt/app-root/lib64/python3.8/site-packages/amun/swagger_client/amun/inspection_api.py", line 713, in post_inspection
    return self.post_inspection_with_http_info(inspection_specification, **kwargs)  # noqa: E501
  File "/opt/app-root/lib64/python3.8/site-packages/amun/swagger_client/amun/inspection_api.py", line 785, in post_inspection_with_http_info
    return self.api_client.call_api(
  File "/opt/app-root/lib64/python3.8/site-packages/amun/swagger_client/api_client.py", line 338, in call_api
    return self.__call_api(resource_path, method,
  File "/opt/app-root/lib64/python3.8/site-packages/amun/swagger_client/api_client.py", line 170, in __call_api
    response_data = self.request(
  File "/opt/app-root/lib64/python3.8/site-packages/amun/swagger_client/api_client.py", line 381, in request
    return self.rest_client.POST(url,
  File "/opt/app-root/lib64/python3.8/site-packages/amun/swagger_client/rest.py", line 270, in POST
    return self.request("POST", url,
  File "/opt/app-root/lib64/python3.8/site-packages/amun/swagger_client/rest.py", line 229, in request
    raise ApiException(http_resp=r)
amun.swagger_client.exceptions.ApiException: (500)
Reason: INTERNAL SERVER ERROR
HTTP response headers: HTTPHeaderDict({'Server': 'gunicorn/20.0.4', 'Date': 'Thu, 18 Feb 2021 00:00:54 GMT', 'Content-Type': 'application/json', 'Content-Length': '177', 'X-Amun-Version': '0.9.2+storage.0.36.0.common.0.23.0', 'Access-Control-Allow-Origin': '*', 'Set-Cookie': '86f7dd5a59fa5933063a93e017e28dbc=d1e0e46de6501c08322e1fd8e1031f16; path=/; HttpOnly; Secure; SameSite=None'})
HTTP response body: {"details":{"datetime":"2021-02-18T00:00:54.565519","type":"InternalServerError"},"error":"Internal server error occurred, please contact administrator with provided details."}

To Reproduce

Run integration-tests against test environment.

Failed to update dependencies to their latest version

Automatic dependency update failed for the current master with SHA 1afe5dd.

The automatic dependency management cannot continue. Please fix errors reported bellow.

Command
  $ pipenv update --dev
Standard output
Running $ pipenv lock then $ pipenv sync.

Standard error
Creating a virtualenv for this project...
Pipfile: /tmp/tmplpzqhzmi/Pipfile
Using /home/user/.local/share/virtualenvs/user-5PivF_Od/bin/python3.8 (3.8.3) to create virtualenv...
created virtual environment CPython3.8.3.final.0-64 in 691ms
  creator CPython3Posix(dest=/tmp/tmplpzqhzmi/.venv, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/tmp/tmp9ssa6uiv)
    added seed packages: pip==20.3.3, setuptools==51.3.3, wheel==0.36.2
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator


Successfully created virtual environment!
�[KVirtualenv location: /tmp/tmplpzqhzmi/.venv
Locking [dev-packages] dependencies...
Locking [packages] dependencies...

Building requirements...
�[K
Resolving dependencies...
�[K
FAIL
�[K[ResolutionFailure]:   File "/home/user/.local/share/virtualenvs/user-5PivF_Od/lib/python3.8/site-packages/pipenv/resolver.py", line 741, in _main
[ResolutionFailure]:       resolve_packages(pre, clear, verbose, system, write, requirements_dir, packages, dev)
[ResolutionFailure]:   File "/home/user/.local/share/virtualenvs/user-5PivF_Od/lib/python3.8/site-packages/pipenv/resolver.py", line 702, in resolve_packages
[ResolutionFailure]:       results, resolver = resolve(
[ResolutionFailure]:   File "/home/user/.local/share/virtualenvs/user-5PivF_Od/lib/python3.8/site-packages/pipenv/resolver.py", line 684, in resolve
[ResolutionFailure]:       return resolve_deps(
[ResolutionFailure]:   File "/home/user/.local/share/virtualenvs/user-5PivF_Od/lib/python3.8/site-packages/pipenv/utils.py", line 1395, in resolve_deps
[ResolutionFailure]:       results, hashes, markers_lookup, resolver, skipped = actually_resolve_deps(
[ResolutionFailure]:   File "/home/user/.local/share/virtualenvs/user-5PivF_Od/lib/python3.8/site-packages/pipenv/utils.py", line 1108, in actually_resolve_deps
[ResolutionFailure]:       resolver.resolve()
[ResolutionFailure]:   File "/home/user/.local/share/virtualenvs/user-5PivF_Od/lib/python3.8/site-packages/pipenv/utils.py", line 833, in resolve
[ResolutionFailure]:       raise ResolutionFailure(message=str(e))
[pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.
 Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
ERROR: Could not find a version that matches kubernetes>=11.0.0,~=11.0.0,~=12.0 (from thoth-common==0.24.1->thamos==1.13.0->-r /tmp/pipenvvb7t1unkrequirements/pipenv-q4i_vg7l-constraints.txt (line 7))
Tried: 1.0.0, 1.0.0, 1.0.1, 1.0.1, 1.0.2, 1.0.2, 2.0.0, 2.0.0, 3.0.0, 3.0.0, 4.0.0, 4.0.0, 5.0.0, 5.0.0, 6.0.0, 6.0.0, 6.1.0, 6.1.0, 7.0.0, 7.0.0, 7.0.1, 7.0.1, 8.0.0, 8.0.0, 8.0.1, 8.0.1, 8.0.2, 8.0.2, 9.0.0, 9.0.0, 9.0.1, 9.0.1, 10.0.0, 10.0.0, 10.0.1, 10.0.1, 10.1.0, 10.1.0, 11.0.0, 11.0.0, 12.0.0, 12.0.0, 12.0.1, 12.0.1
Skipped pre-versions: 0.0.0a2, 0.0.0a2, 0.0.0a5, 0.0.0a5, 1.0.0a2, 1.0.0a2, 1.0.0a3, 1.0.0a4, 1.0.0a4, 1.0.0a5, 1.0.0a5, 1.0.0b1, 1.0.0b1, 1.0.0b2, 1.0.0b2, 1.0.0b3, 1.0.0b3, 2.0.0a1, 2.0.0a1, 2.0.0b1, 2.0.0b1, 3.0.0a1, 3.0.0a1, 3.0.0b1, 3.0.0b1, 4.0.0a1, 4.0.0a1, 4.0.0b1, 4.0.0b1, 5.0.0b1, 5.0.0b1, 6.0.0b1, 6.0.0b1, 7.0.0a1, 7.0.0a1, 7.0.0b1, 7.0.0b1, 8.0.0a1, 8.0.0a1, 8.0.0b1, 8.0.0b1, 9.0.0a1, 9.0.0a1, 9.0.0b1, 9.0.0b1, 10.0.0a1, 10.0.0a1, 11.0.0a1, 11.0.0a1, 11.0.0b1, 11.0.0b1, 11.0.0b2, 11.0.0b2, 12.0.0a1, 12.0.0a1, 12.0.0b1, 12.0.0b1, 17.14.0a1, 17.14.0a1
There are incompatible versions in the resolved dependencies:
  kubernetes>=11.0.0 (from argo-workflows==3.6.1->thoth-common==0.24.1->thamos==1.13.0->-r /tmp/pipenvvb7t1unkrequirements/pipenv-q4i_vg7l-constraints.txt (line 7))
  kubernetes~=11.0.0 (from thoth-common==0.24.1->thamos==1.13.0->-r /tmp/pipenvvb7t1unkrequirements/pipenv-q4i_vg7l-constraints.txt (line 7))
  kubernetes~=12.0 (from openshift==0.12.0->thoth-common==0.24.1->thamos==1.13.0->-r /tmp/pipenvvb7t1unkrequirements/pipenv-q4i_vg7l-constraints.txt (line 7))


Traceback (most recent call last):
  File "/home/user/.local/share/virtualenvs/user-5PivF_Od/lib/python3.8/site-packages/pipenv/utils.py", line 1131, in create_spinner
    yield sp
  File "/home/user/.local/share/virtualenvs/user-5PivF_Od/lib/python3.8/site-packages/pipenv/utils.py", line 1338, in venv_resolve_deps
    c = resolve(cmd, sp)
  File "/home/user/.local/share/virtualenvs/user-5PivF_Od/lib/python3.8/site-packages/pipenv/utils.py", line 1176, in resolve
    sys.exit(c.return_code)
SystemExit: 1

�[K
Environment details

Kebechet version: 1.2.4
Python version: 3.8.3
Platform: Linux-4.18.0-193.28.1.el8_2.x86_64-x86_64-with-glibc2.2.5
pipenv version: pipenv, version 2020.11.15


Dependency graph
behave-html-formatter==0.9.6
  - behave [required: Any, installed: 1.2.6]
    - parse [required: >=1.8.2, installed: 1.19.0]
    - parse-type [required: >=0.4.2, installed: 0.5.2]
      - parse [required: >=1.8.4, installed: 1.19.0]
      - six [required: >=1.11, installed: 1.15.0]
    - six [required: >=1.11, installed: 1.15.0]
GitPython==3.1.14
  - gitdb [required: >=4.0.1,<5, installed: 4.0.5]
    - smmap [required: >=3.0.1,<4, installed: 3.0.5]
PyHamcrest==2.0.2
thamos==1.13.0
  - certifi [required: >=14.05.14, installed: 2020.12.5]
  - click [required: Any, installed: 7.1.2]
  - daiquiri [required: Any, installed: 3.0.0]
    - python-json-logger [required: Any, installed: 2.0.1]
  - distro [required: Any, installed: 1.5.0]
  - invectio [required: Any, installed: 0.1.0]
    - attrs [required: Any, installed: 20.3.0]
    - click [required: Any, installed: 7.1.2]
    - daiquiri [required: Any, installed: 3.0.0]
      - python-json-logger [required: Any, installed: 2.0.1]
  - jsonschema [required: Any, installed: 3.2.0]
    - attrs [required: >=17.4.0, installed: 20.3.0]
    - pyrsistent [required: >=0.14.0, installed: 0.17.3]
    - setuptools [required: Any, installed: 51.3.3]
    - six [required: >=1.11.0, installed: 1.15.0]
  - micropipenv [required: Any, installed: 1.0.2]
    - pip [required: >=9, installed: 20.3.3]
  - python-dateutil [required: >=2.5.3, installed: 2.8.1]
    - six [required: >=1.5, installed: 1.15.0]
  - pyyaml [required: >=5.3.0, installed: 5.4.1]
  - requests [required: Any, installed: 2.25.1]
    - certifi [required: >=2017.4.17, installed: 2020.12.5]
    - chardet [required: >=3.0.2,<5, installed: 4.0.0]
    - idna [required: >=2.5,<3, installed: 2.10]
    - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
  - rich [required: Any, installed: 9.12.3]
    - colorama [required: >=0.4.0,<0.5.0, installed: 0.4.4]
    - commonmark [required: >=0.9.0,<0.10.0, installed: 0.9.1]
    - pygments [required: >=2.6.0,<3.0.0, installed: 2.8.0]
    - typing-extensions [required: >=3.7.4,<4.0.0, installed: 3.7.4.3]
  - setuptools [required: >=40.3.0, installed: 51.3.3]
  - six [required: >=1.10, installed: 1.15.0]
  - termcolor [required: Any, installed: 1.1.0]
  - thoth-analyzer [required: Any, installed: 0.1.8]
    - click [required: Any, installed: 7.1.2]
    - delegator.py [required: >=0.1.0, installed: 0.1.1]
      - pexpect [required: >=4.1.0, installed: 4.8.0]
        - ptyprocess [required: >=0.5, installed: 0.7.0]
    - distro [required: Any, installed: 1.5.0]
    - requests [required: Any, installed: 2.25.1]
      - certifi [required: >=2017.4.17, installed: 2020.12.5]
      - chardet [required: >=3.0.2,<5, installed: 4.0.0]
      - idna [required: >=2.5,<3, installed: 2.10]
      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
    - thoth-common [required: Any, installed: 0.24.1]
      - argo-workflows [required: >=3.5,<4, installed: 3.6.1]
        - kubernetes [required: >=11.0.0, installed: 11.0.0]
          - certifi [required: >=14.05.14, installed: 2020.12.5]
          - google-auth [required: >=1.0.1, installed: 1.27.0]
            - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
            - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
              - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
            - rsa [required: >=3.1.4,<5, installed: 4.7.2]
              - pyasn1 [required: >=0.1.3, installed: 0.4.8]
            - setuptools [required: >=40.3.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
          - python-dateutil [required: >=2.5.3, installed: 2.8.1]
            - six [required: >=1.5, installed: 1.15.0]
          - pyyaml [required: >=3.12, installed: 5.4.1]
          - requests [required: Any, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - requests-oauthlib [required: Any, installed: 1.3.0]
            - oauthlib [required: >=3.0.0, installed: 3.1.0]
            - requests [required: >=2.0.0, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - setuptools [required: >=21.0.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
          - urllib3 [required: >=1.24.2, installed: 1.26.3]
          - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
            - six [required: Any, installed: 1.15.0]
        - mock [required: Any, installed: 4.0.3]
      - attrdict [required: Any, installed: 2.0.1]
        - six [required: Any, installed: 1.15.0]
      - attrs [required: Any, installed: 20.3.0]
      - daiquiri [required: Any, installed: 3.0.0]
        - python-json-logger [required: Any, installed: 2.0.1]
      - jsonformatter [required: Any, installed: 0.3.1]
      - kubernetes [required: ~=11.0.0, installed: 11.0.0]
        - certifi [required: >=14.05.14, installed: 2020.12.5]
        - google-auth [required: >=1.0.1, installed: 1.27.0]
          - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
          - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
            - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
          - rsa [required: >=3.1.4,<5, installed: 4.7.2]
            - pyasn1 [required: >=0.1.3, installed: 0.4.8]
          - setuptools [required: >=40.3.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
        - python-dateutil [required: >=2.5.3, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.15.0]
        - pyyaml [required: >=3.12, installed: 5.4.1]
        - requests [required: Any, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - requests-oauthlib [required: Any, installed: 1.3.0]
          - oauthlib [required: >=3.0.0, installed: 3.1.0]
          - requests [required: >=2.0.0, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - setuptools [required: >=21.0.0, installed: 51.3.3]
        - six [required: >=1.9.0, installed: 1.15.0]
        - urllib3 [required: >=1.24.2, installed: 1.26.3]
        - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
          - six [required: Any, installed: 1.15.0]
      - openshift [required: Any, installed: 0.11.2]
        - jinja2 [required: Any, installed: 2.11.3]
          - MarkupSafe [required: >=0.23, installed: 1.1.1]
        - kubernetes [required: ~=11.0.0, installed: 11.0.0]
          - certifi [required: >=14.05.14, installed: 2020.12.5]
          - google-auth [required: >=1.0.1, installed: 1.27.0]
            - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
            - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
              - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
            - rsa [required: >=3.1.4,<5, installed: 4.7.2]
              - pyasn1 [required: >=0.1.3, installed: 0.4.8]
            - setuptools [required: >=40.3.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
          - python-dateutil [required: >=2.5.3, installed: 2.8.1]
            - six [required: >=1.5, installed: 1.15.0]
          - pyyaml [required: >=3.12, installed: 5.4.1]
          - requests [required: Any, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - requests-oauthlib [required: Any, installed: 1.3.0]
            - oauthlib [required: >=3.0.0, installed: 3.1.0]
            - requests [required: >=2.0.0, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - setuptools [required: >=21.0.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
          - urllib3 [required: >=1.24.2, installed: 1.26.3]
          - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
            - six [required: Any, installed: 1.15.0]
        - python-string-utils [required: Any, installed: 1.0.0]
        - ruamel.yaml [required: >=0.15, installed: 0.16.12]
          - ruamel.yaml.clib [required: >=0.1.2, installed: 0.2.2]
        - six [required: Any, installed: 1.15.0]
      - pyyaml [required: Any, installed: 5.4.1]
      - requests [required: Any, installed: 2.25.1]
        - certifi [required: >=2017.4.17, installed: 2020.12.5]
        - chardet [required: >=3.0.2,<5, installed: 4.0.0]
        - idna [required: >=2.5,<3, installed: 2.10]
        - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
      - rfc5424-logging-handler [required: Any, installed: 1.4.3]
        - pytz [required: Any, installed: 2021.1]
        - tzlocal [required: Any, installed: 2.1]
          - pytz [required: Any, installed: 2021.1]
      - sentry-sdk [required: Any, installed: 0.20.3]
        - certifi [required: Any, installed: 2020.12.5]
        - urllib3 [required: >=1.10.0, installed: 1.26.3]
  - thoth-common [required: Any, installed: 0.24.1]
    - argo-workflows [required: >=3.5,<4, installed: 3.6.1]
      - kubernetes [required: >=11.0.0, installed: 11.0.0]
        - certifi [required: >=14.05.14, installed: 2020.12.5]
        - google-auth [required: >=1.0.1, installed: 1.27.0]
          - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
          - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
            - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
          - rsa [required: >=3.1.4,<5, installed: 4.7.2]
            - pyasn1 [required: >=0.1.3, installed: 0.4.8]
          - setuptools [required: >=40.3.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
        - python-dateutil [required: >=2.5.3, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.15.0]
        - pyyaml [required: >=3.12, installed: 5.4.1]
        - requests [required: Any, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - requests-oauthlib [required: Any, installed: 1.3.0]
          - oauthlib [required: >=3.0.0, installed: 3.1.0]
          - requests [required: >=2.0.0, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - setuptools [required: >=21.0.0, installed: 51.3.3]
        - six [required: >=1.9.0, installed: 1.15.0]
        - urllib3 [required: >=1.24.2, installed: 1.26.3]
        - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
          - six [required: Any, installed: 1.15.0]
      - mock [required: Any, installed: 4.0.3]
    - attrdict [required: Any, installed: 2.0.1]
      - six [required: Any, installed: 1.15.0]
    - attrs [required: Any, installed: 20.3.0]
    - daiquiri [required: Any, installed: 3.0.0]
      - python-json-logger [required: Any, installed: 2.0.1]
    - jsonformatter [required: Any, installed: 0.3.1]
    - kubernetes [required: ~=11.0.0, installed: 11.0.0]
      - certifi [required: >=14.05.14, installed: 2020.12.5]
      - google-auth [required: >=1.0.1, installed: 1.27.0]
        - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
        - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
          - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
        - rsa [required: >=3.1.4,<5, installed: 4.7.2]
          - pyasn1 [required: >=0.1.3, installed: 0.4.8]
        - setuptools [required: >=40.3.0, installed: 51.3.3]
        - six [required: >=1.9.0, installed: 1.15.0]
      - python-dateutil [required: >=2.5.3, installed: 2.8.1]
        - six [required: >=1.5, installed: 1.15.0]
      - pyyaml [required: >=3.12, installed: 5.4.1]
      - requests [required: Any, installed: 2.25.1]
        - certifi [required: >=2017.4.17, installed: 2020.12.5]
        - chardet [required: >=3.0.2,<5, installed: 4.0.0]
        - idna [required: >=2.5,<3, installed: 2.10]
        - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
      - requests-oauthlib [required: Any, installed: 1.3.0]
        - oauthlib [required: >=3.0.0, installed: 3.1.0]
        - requests [required: >=2.0.0, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
      - setuptools [required: >=21.0.0, installed: 51.3.3]
      - six [required: >=1.9.0, installed: 1.15.0]
      - urllib3 [required: >=1.24.2, installed: 1.26.3]
      - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
        - six [required: Any, installed: 1.15.0]
    - openshift [required: Any, installed: 0.11.2]
      - jinja2 [required: Any, installed: 2.11.3]
        - MarkupSafe [required: >=0.23, installed: 1.1.1]
      - kubernetes [required: ~=11.0.0, installed: 11.0.0]
        - certifi [required: >=14.05.14, installed: 2020.12.5]
        - google-auth [required: >=1.0.1, installed: 1.27.0]
          - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
          - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
            - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
          - rsa [required: >=3.1.4,<5, installed: 4.7.2]
            - pyasn1 [required: >=0.1.3, installed: 0.4.8]
          - setuptools [required: >=40.3.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
        - python-dateutil [required: >=2.5.3, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.15.0]
        - pyyaml [required: >=3.12, installed: 5.4.1]
        - requests [required: Any, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - requests-oauthlib [required: Any, installed: 1.3.0]
          - oauthlib [required: >=3.0.0, installed: 3.1.0]
          - requests [required: >=2.0.0, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - setuptools [required: >=21.0.0, installed: 51.3.3]
        - six [required: >=1.9.0, installed: 1.15.0]
        - urllib3 [required: >=1.24.2, installed: 1.26.3]
        - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
          - six [required: Any, installed: 1.15.0]
      - python-string-utils [required: Any, installed: 1.0.0]
      - ruamel.yaml [required: >=0.15, installed: 0.16.12]
        - ruamel.yaml.clib [required: >=0.1.2, installed: 0.2.2]
      - six [required: Any, installed: 1.15.0]
    - pyyaml [required: Any, installed: 5.4.1]
    - requests [required: Any, installed: 2.25.1]
      - certifi [required: >=2017.4.17, installed: 2020.12.5]
      - chardet [required: >=3.0.2,<5, installed: 4.0.0]
      - idna [required: >=2.5,<3, installed: 2.10]
      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
    - rfc5424-logging-handler [required: Any, installed: 1.4.3]
      - pytz [required: Any, installed: 2021.1]
      - tzlocal [required: Any, installed: 2.1]
        - pytz [required: Any, installed: 2021.1]
    - sentry-sdk [required: Any, installed: 0.20.3]
      - certifi [required: Any, installed: 2020.12.5]
      - urllib3 [required: >=1.10.0, installed: 1.26.3]
  - thoth-python [required: >=0.9.0, installed: 0.15.3]
    - aiohttp [required: Any, installed: 3.7.4]
      - async-timeout [required: >=3.0,<4.0, installed: 3.0.1]
      - attrs [required: >=17.3.0, installed: 20.3.0]
      - chardet [required: >=2.0,<4.0, installed: 4.0.0]
      - multidict [required: >=4.5,<7.0, installed: 5.1.0]
      - typing-extensions [required: >=3.6.5, installed: 3.7.4.3]
      - yarl [required: >=1.0,<2.0, installed: 1.6.3]
        - idna [required: >=2.0, installed: 2.10]
        - multidict [required: >=4.0, installed: 5.1.0]
    - attrs [required: Any, installed: 20.3.0]
    - beautifulsoup4 [required: ==4.6.3, installed: 4.6.3]
    - click [required: Any, installed: 7.1.2]
    - lxml [required: Any, installed: 4.6.2]
    - packaging [required: Any, installed: 20.9]
      - pyparsing [required: >=2.0.2, installed: 2.4.7]
    - pyelftools [required: Any, installed: 0.27]
    - requests [required: Any, installed: 2.25.1]
      - certifi [required: >=2017.4.17, installed: 2020.12.5]
      - chardet [required: >=3.0.2,<5, installed: 4.0.0]
      - idna [required: >=2.5,<3, installed: 2.10]
      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
    - semantic-version [required: Any, installed: 2.8.5]
    - setuptools [required: Any, installed: 51.3.3]
    - thoth-analyzer [required: Any, installed: 0.1.8]
      - click [required: Any, installed: 7.1.2]
      - delegator.py [required: >=0.1.0, installed: 0.1.1]
        - pexpect [required: >=4.1.0, installed: 4.8.0]
          - ptyprocess [required: >=0.5, installed: 0.7.0]
      - distro [required: Any, installed: 1.5.0]
      - requests [required: Any, installed: 2.25.1]
        - certifi [required: >=2017.4.17, installed: 2020.12.5]
        - chardet [required: >=3.0.2,<5, installed: 4.0.0]
        - idna [required: >=2.5,<3, installed: 2.10]
        - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
      - thoth-common [required: Any, installed: 0.24.1]
        - argo-workflows [required: >=3.5,<4, installed: 3.6.1]
          - kubernetes [required: >=11.0.0, installed: 11.0.0]
            - certifi [required: >=14.05.14, installed: 2020.12.5]
            - google-auth [required: >=1.0.1, installed: 1.27.0]
              - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
              - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
                - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
              - rsa [required: >=3.1.4,<5, installed: 4.7.2]
                - pyasn1 [required: >=0.1.3, installed: 0.4.8]
              - setuptools [required: >=40.3.0, installed: 51.3.3]
              - six [required: >=1.9.0, installed: 1.15.0]
            - python-dateutil [required: >=2.5.3, installed: 2.8.1]
              - six [required: >=1.5, installed: 1.15.0]
            - pyyaml [required: >=3.12, installed: 5.4.1]
            - requests [required: Any, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
            - requests-oauthlib [required: Any, installed: 1.3.0]
              - oauthlib [required: >=3.0.0, installed: 3.1.0]
              - requests [required: >=2.0.0, installed: 2.25.1]
                - certifi [required: >=2017.4.17, installed: 2020.12.5]
                - chardet [required: >=3.0.2,<5, installed: 4.0.0]
                - idna [required: >=2.5,<3, installed: 2.10]
                - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
            - setuptools [required: >=21.0.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
            - urllib3 [required: >=1.24.2, installed: 1.26.3]
            - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
              - six [required: Any, installed: 1.15.0]
          - mock [required: Any, installed: 4.0.3]
        - attrdict [required: Any, installed: 2.0.1]
          - six [required: Any, installed: 1.15.0]
        - attrs [required: Any, installed: 20.3.0]
        - daiquiri [required: Any, installed: 3.0.0]
          - python-json-logger [required: Any, installed: 2.0.1]
        - jsonformatter [required: Any, installed: 0.3.1]
        - kubernetes [required: ~=11.0.0, installed: 11.0.0]
          - certifi [required: >=14.05.14, installed: 2020.12.5]
          - google-auth [required: >=1.0.1, installed: 1.27.0]
            - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
            - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
              - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
            - rsa [required: >=3.1.4,<5, installed: 4.7.2]
              - pyasn1 [required: >=0.1.3, installed: 0.4.8]
            - setuptools [required: >=40.3.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
          - python-dateutil [required: >=2.5.3, installed: 2.8.1]
            - six [required: >=1.5, installed: 1.15.0]
          - pyyaml [required: >=3.12, installed: 5.4.1]
          - requests [required: Any, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - requests-oauthlib [required: Any, installed: 1.3.0]
            - oauthlib [required: >=3.0.0, installed: 3.1.0]
            - requests [required: >=2.0.0, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - setuptools [required: >=21.0.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
          - urllib3 [required: >=1.24.2, installed: 1.26.3]
          - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
            - six [required: Any, installed: 1.15.0]
        - openshift [required: Any, installed: 0.11.2]
          - jinja2 [required: Any, installed: 2.11.3]
            - MarkupSafe [required: >=0.23, installed: 1.1.1]
          - kubernetes [required: ~=11.0.0, installed: 11.0.0]
            - certifi [required: >=14.05.14, installed: 2020.12.5]
            - google-auth [required: >=1.0.1, installed: 1.27.0]
              - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
              - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
                - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
              - rsa [required: >=3.1.4,<5, installed: 4.7.2]
                - pyasn1 [required: >=0.1.3, installed: 0.4.8]
              - setuptools [required: >=40.3.0, installed: 51.3.3]
              - six [required: >=1.9.0, installed: 1.15.0]
            - python-dateutil [required: >=2.5.3, installed: 2.8.1]
              - six [required: >=1.5, installed: 1.15.0]
            - pyyaml [required: >=3.12, installed: 5.4.1]
            - requests [required: Any, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
            - requests-oauthlib [required: Any, installed: 1.3.0]
              - oauthlib [required: >=3.0.0, installed: 3.1.0]
              - requests [required: >=2.0.0, installed: 2.25.1]
                - certifi [required: >=2017.4.17, installed: 2020.12.5]
                - chardet [required: >=3.0.2,<5, installed: 4.0.0]
                - idna [required: >=2.5,<3, installed: 2.10]
                - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
            - setuptools [required: >=21.0.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
            - urllib3 [required: >=1.24.2, installed: 1.26.3]
            - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
              - six [required: Any, installed: 1.15.0]
          - python-string-utils [required: Any, installed: 1.0.0]
          - ruamel.yaml [required: >=0.15, installed: 0.16.12]
            - ruamel.yaml.clib [required: >=0.1.2, installed: 0.2.2]
          - six [required: Any, installed: 1.15.0]
        - pyyaml [required: Any, installed: 5.4.1]
        - requests [required: Any, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - rfc5424-logging-handler [required: Any, installed: 1.4.3]
          - pytz [required: Any, installed: 2021.1]
          - tzlocal [required: Any, installed: 2.1]
            - pytz [required: Any, installed: 2021.1]
        - sentry-sdk [required: Any, installed: 0.20.3]
          - certifi [required: Any, installed: 2020.12.5]
          - urllib3 [required: >=1.10.0, installed: 1.26.3]
    - thoth-common [required: Any, installed: 0.24.1]
      - argo-workflows [required: >=3.5,<4, installed: 3.6.1]
        - kubernetes [required: >=11.0.0, installed: 11.0.0]
          - certifi [required: >=14.05.14, installed: 2020.12.5]
          - google-auth [required: >=1.0.1, installed: 1.27.0]
            - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
            - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
              - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
            - rsa [required: >=3.1.4,<5, installed: 4.7.2]
              - pyasn1 [required: >=0.1.3, installed: 0.4.8]
            - setuptools [required: >=40.3.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
          - python-dateutil [required: >=2.5.3, installed: 2.8.1]
            - six [required: >=1.5, installed: 1.15.0]
          - pyyaml [required: >=3.12, installed: 5.4.1]
          - requests [required: Any, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - requests-oauthlib [required: Any, installed: 1.3.0]
            - oauthlib [required: >=3.0.0, installed: 3.1.0]
            - requests [required: >=2.0.0, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - setuptools [required: >=21.0.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
          - urllib3 [required: >=1.24.2, installed: 1.26.3]
          - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
            - six [required: Any, installed: 1.15.0]
        - mock [required: Any, installed: 4.0.3]
      - attrdict [required: Any, installed: 2.0.1]
        - six [required: Any, installed: 1.15.0]
      - attrs [required: Any, installed: 20.3.0]
      - daiquiri [required: Any, installed: 3.0.0]
        - python-json-logger [required: Any, installed: 2.0.1]
      - jsonformatter [required: Any, installed: 0.3.1]
      - kubernetes [required: ~=11.0.0, installed: 11.0.0]
        - certifi [required: >=14.05.14, installed: 2020.12.5]
        - google-auth [required: >=1.0.1, installed: 1.27.0]
          - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
          - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
            - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
          - rsa [required: >=3.1.4,<5, installed: 4.7.2]
            - pyasn1 [required: >=0.1.3, installed: 0.4.8]
          - setuptools [required: >=40.3.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
        - python-dateutil [required: >=2.5.3, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.15.0]
        - pyyaml [required: >=3.12, installed: 5.4.1]
        - requests [required: Any, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - requests-oauthlib [required: Any, installed: 1.3.0]
          - oauthlib [required: >=3.0.0, installed: 3.1.0]
          - requests [required: >=2.0.0, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - setuptools [required: >=21.0.0, installed: 51.3.3]
        - six [required: >=1.9.0, installed: 1.15.0]
        - urllib3 [required: >=1.24.2, installed: 1.26.3]
        - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
          - six [required: Any, installed: 1.15.0]
      - openshift [required: Any, installed: 0.11.2]
        - jinja2 [required: Any, installed: 2.11.3]
          - MarkupSafe [required: >=0.23, installed: 1.1.1]
        - kubernetes [required: ~=11.0.0, installed: 11.0.0]
          - certifi [required: >=14.05.14, installed: 2020.12.5]
          - google-auth [required: >=1.0.1, installed: 1.27.0]
            - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
            - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
              - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
            - rsa [required: >=3.1.4,<5, installed: 4.7.2]
              - pyasn1 [required: >=0.1.3, installed: 0.4.8]
            - setuptools [required: >=40.3.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
          - python-dateutil [required: >=2.5.3, installed: 2.8.1]
            - six [required: >=1.5, installed: 1.15.0]
          - pyyaml [required: >=3.12, installed: 5.4.1]
          - requests [required: Any, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - requests-oauthlib [required: Any, installed: 1.3.0]
            - oauthlib [required: >=3.0.0, installed: 3.1.0]
            - requests [required: >=2.0.0, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - setuptools [required: >=21.0.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
          - urllib3 [required: >=1.24.2, installed: 1.26.3]
          - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
            - six [required: Any, installed: 1.15.0]
        - python-string-utils [required: Any, installed: 1.0.0]
        - ruamel.yaml [required: >=0.15, installed: 0.16.12]
          - ruamel.yaml.clib [required: >=0.1.2, installed: 0.2.2]
        - six [required: Any, installed: 1.15.0]
      - pyyaml [required: Any, installed: 5.4.1]
      - requests [required: Any, installed: 2.25.1]
        - certifi [required: >=2017.4.17, installed: 2020.12.5]
        - chardet [required: >=3.0.2,<5, installed: 4.0.0]
        - idna [required: >=2.5,<3, installed: 2.10]
        - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
      - rfc5424-logging-handler [required: Any, installed: 1.4.3]
        - pytz [required: Any, installed: 2021.1]
        - tzlocal [required: Any, installed: 2.1]
          - pytz [required: Any, installed: 2021.1]
      - sentry-sdk [required: Any, installed: 0.20.3]
        - certifi [required: Any, installed: 2020.12.5]
        - urllib3 [required: >=1.10.0, installed: 1.26.3]
    - toml [required: Any, installed: 0.10.2]
  - urllib3 [required: >=1.15.1, installed: 1.26.3]
  - yaspin [required: Any, installed: 1.4.1]
thoth-storages==0.37.0
  - alembic [required: Any, installed: 1.5.5]
    - Mako [required: Any, installed: 1.1.4]
      - MarkupSafe [required: >=0.9.2, installed: 1.1.1]
    - python-dateutil [required: Any, installed: 2.8.1]
      - six [required: >=1.5, installed: 1.15.0]
    - python-editor [required: >=0.3, installed: 1.0.4]
    - SQLAlchemy [required: >=1.3.0, installed: 1.3.23]
  - amun [required: Any, installed: 0.5.0]
    - certifi [required: Any, installed: 2020.12.5]
    - python-dateutil [required: Any, installed: 2.8.1]
      - six [required: >=1.5, installed: 1.15.0]
    - setuptools [required: Any, installed: 51.3.3]
    - six [required: Any, installed: 1.15.0]
    - urllib3 [required: Any, installed: 1.26.3]
  - boto3 [required: Any, installed: 1.17.17]
    - botocore [required: >=1.20.17,<1.21.0, installed: 1.20.17]
      - jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
      - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.1]
        - six [required: >=1.5, installed: 1.15.0]
      - urllib3 [required: >=1.25.4,<1.27, installed: 1.26.3]
    - jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
    - s3transfer [required: >=0.3.0,<0.4.0, installed: 0.3.4]
      - botocore [required: >=1.12.36,<2.0a.0, installed: 1.20.17]
        - jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
        - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.15.0]
        - urllib3 [required: >=1.25.4,<1.27, installed: 1.26.3]
  - click [required: Any, installed: 7.1.2]
  - psycopg2-binary [required: Any, installed: 2.8.6]
  - python-dateutil [required: Any, installed: 2.8.1]
    - six [required: >=1.5, installed: 1.15.0]
  - pyyaml [required: Any, installed: 5.4.1]
  - sqlalchemy [required: Any, installed: 1.3.23]
  - sqlalchemy-utils [required: Any, installed: 0.36.8]
    - six [required: Any, installed: 1.15.0]
    - SQLAlchemy [required: >=1.0, installed: 1.3.23]
  - thoth-common [required: Any, installed: 0.24.1]
    - argo-workflows [required: >=3.5,<4, installed: 3.6.1]
      - kubernetes [required: >=11.0.0, installed: 11.0.0]
        - certifi [required: >=14.05.14, installed: 2020.12.5]
        - google-auth [required: >=1.0.1, installed: 1.27.0]
          - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
          - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
            - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
          - rsa [required: >=3.1.4,<5, installed: 4.7.2]
            - pyasn1 [required: >=0.1.3, installed: 0.4.8]
          - setuptools [required: >=40.3.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
        - python-dateutil [required: >=2.5.3, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.15.0]
        - pyyaml [required: >=3.12, installed: 5.4.1]
        - requests [required: Any, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - requests-oauthlib [required: Any, installed: 1.3.0]
          - oauthlib [required: >=3.0.0, installed: 3.1.0]
          - requests [required: >=2.0.0, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - setuptools [required: >=21.0.0, installed: 51.3.3]
        - six [required: >=1.9.0, installed: 1.15.0]
        - urllib3 [required: >=1.24.2, installed: 1.26.3]
        - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
          - six [required: Any, installed: 1.15.0]
      - mock [required: Any, installed: 4.0.3]
    - attrdict [required: Any, installed: 2.0.1]
      - six [required: Any, installed: 1.15.0]
    - attrs [required: Any, installed: 20.3.0]
    - daiquiri [required: Any, installed: 3.0.0]
      - python-json-logger [required: Any, installed: 2.0.1]
    - jsonformatter [required: Any, installed: 0.3.1]
    - kubernetes [required: ~=11.0.0, installed: 11.0.0]
      - certifi [required: >=14.05.14, installed: 2020.12.5]
      - google-auth [required: >=1.0.1, installed: 1.27.0]
        - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
        - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
          - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
        - rsa [required: >=3.1.4,<5, installed: 4.7.2]
          - pyasn1 [required: >=0.1.3, installed: 0.4.8]
        - setuptools [required: >=40.3.0, installed: 51.3.3]
        - six [required: >=1.9.0, installed: 1.15.0]
      - python-dateutil [required: >=2.5.3, installed: 2.8.1]
        - six [required: >=1.5, installed: 1.15.0]
      - pyyaml [required: >=3.12, installed: 5.4.1]
      - requests [required: Any, installed: 2.25.1]
        - certifi [required: >=2017.4.17, installed: 2020.12.5]
        - chardet [required: >=3.0.2,<5, installed: 4.0.0]
        - idna [required: >=2.5,<3, installed: 2.10]
        - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
      - requests-oauthlib [required: Any, installed: 1.3.0]
        - oauthlib [required: >=3.0.0, installed: 3.1.0]
        - requests [required: >=2.0.0, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
      - setuptools [required: >=21.0.0, installed: 51.3.3]
      - six [required: >=1.9.0, installed: 1.15.0]
      - urllib3 [required: >=1.24.2, installed: 1.26.3]
      - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
        - six [required: Any, installed: 1.15.0]
    - openshift [required: Any, installed: 0.11.2]
      - jinja2 [required: Any, installed: 2.11.3]
        - MarkupSafe [required: >=0.23, installed: 1.1.1]
      - kubernetes [required: ~=11.0.0, installed: 11.0.0]
        - certifi [required: >=14.05.14, installed: 2020.12.5]
        - google-auth [required: >=1.0.1, installed: 1.27.0]
          - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
          - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
            - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
          - rsa [required: >=3.1.4,<5, installed: 4.7.2]
            - pyasn1 [required: >=0.1.3, installed: 0.4.8]
          - setuptools [required: >=40.3.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
        - python-dateutil [required: >=2.5.3, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.15.0]
        - pyyaml [required: >=3.12, installed: 5.4.1]
        - requests [required: Any, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - requests-oauthlib [required: Any, installed: 1.3.0]
          - oauthlib [required: >=3.0.0, installed: 3.1.0]
          - requests [required: >=2.0.0, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - setuptools [required: >=21.0.0, installed: 51.3.3]
        - six [required: >=1.9.0, installed: 1.15.0]
        - urllib3 [required: >=1.24.2, installed: 1.26.3]
        - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
          - six [required: Any, installed: 1.15.0]
      - python-string-utils [required: Any, installed: 1.0.0]
      - ruamel.yaml [required: >=0.15, installed: 0.16.12]
        - ruamel.yaml.clib [required: >=0.1.2, installed: 0.2.2]
      - six [required: Any, installed: 1.15.0]
    - pyyaml [required: Any, installed: 5.4.1]
    - requests [required: Any, installed: 2.25.1]
      - certifi [required: >=2017.4.17, installed: 2020.12.5]
      - chardet [required: >=3.0.2,<5, installed: 4.0.0]
      - idna [required: >=2.5,<3, installed: 2.10]
      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
    - rfc5424-logging-handler [required: Any, installed: 1.4.3]
      - pytz [required: Any, installed: 2021.1]
      - tzlocal [required: Any, installed: 2.1]
        - pytz [required: Any, installed: 2021.1]
    - sentry-sdk [required: Any, installed: 0.20.3]
      - certifi [required: Any, installed: 2020.12.5]
      - urllib3 [required: >=1.10.0, installed: 1.26.3]
  - thoth-python [required: Any, installed: 0.15.3]
    - aiohttp [required: Any, installed: 3.7.4]
      - async-timeout [required: >=3.0,<4.0, installed: 3.0.1]
      - attrs [required: >=17.3.0, installed: 20.3.0]
      - chardet [required: >=2.0,<4.0, installed: 4.0.0]
      - multidict [required: >=4.5,<7.0, installed: 5.1.0]
      - typing-extensions [required: >=3.6.5, installed: 3.7.4.3]
      - yarl [required: >=1.0,<2.0, installed: 1.6.3]
        - idna [required: >=2.0, installed: 2.10]
        - multidict [required: >=4.0, installed: 5.1.0]
    - attrs [required: Any, installed: 20.3.0]
    - beautifulsoup4 [required: ==4.6.3, installed: 4.6.3]
    - click [required: Any, installed: 7.1.2]
    - lxml [required: Any, installed: 4.6.2]
    - packaging [required: Any, installed: 20.9]
      - pyparsing [required: >=2.0.2, installed: 2.4.7]
    - pyelftools [required: Any, installed: 0.27]
    - requests [required: Any, installed: 2.25.1]
      - certifi [required: >=2017.4.17, installed: 2020.12.5]
      - chardet [required: >=3.0.2,<5, installed: 4.0.0]
      - idna [required: >=2.5,<3, installed: 2.10]
      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
    - semantic-version [required: Any, installed: 2.8.5]
    - setuptools [required: Any, installed: 51.3.3]
    - thoth-analyzer [required: Any, installed: 0.1.8]
      - click [required: Any, installed: 7.1.2]
      - delegator.py [required: >=0.1.0, installed: 0.1.1]
        - pexpect [required: >=4.1.0, installed: 4.8.0]
          - ptyprocess [required: >=0.5, installed: 0.7.0]
      - distro [required: Any, installed: 1.5.0]
      - requests [required: Any, installed: 2.25.1]
        - certifi [required: >=2017.4.17, installed: 2020.12.5]
        - chardet [required: >=3.0.2,<5, installed: 4.0.0]
        - idna [required: >=2.5,<3, installed: 2.10]
        - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
      - thoth-common [required: Any, installed: 0.24.1]
        - argo-workflows [required: >=3.5,<4, installed: 3.6.1]
          - kubernetes [required: >=11.0.0, installed: 11.0.0]
            - certifi [required: >=14.05.14, installed: 2020.12.5]
            - google-auth [required: >=1.0.1, installed: 1.27.0]
              - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
              - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
                - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
              - rsa [required: >=3.1.4,<5, installed: 4.7.2]
                - pyasn1 [required: >=0.1.3, installed: 0.4.8]
              - setuptools [required: >=40.3.0, installed: 51.3.3]
              - six [required: >=1.9.0, installed: 1.15.0]
            - python-dateutil [required: >=2.5.3, installed: 2.8.1]
              - six [required: >=1.5, installed: 1.15.0]
            - pyyaml [required: >=3.12, installed: 5.4.1]
            - requests [required: Any, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
            - requests-oauthlib [required: Any, installed: 1.3.0]
              - oauthlib [required: >=3.0.0, installed: 3.1.0]
              - requests [required: >=2.0.0, installed: 2.25.1]
                - certifi [required: >=2017.4.17, installed: 2020.12.5]
                - chardet [required: >=3.0.2,<5, installed: 4.0.0]
                - idna [required: >=2.5,<3, installed: 2.10]
                - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
            - setuptools [required: >=21.0.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
            - urllib3 [required: >=1.24.2, installed: 1.26.3]
            - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
              - six [required: Any, installed: 1.15.0]
          - mock [required: Any, installed: 4.0.3]
        - attrdict [required: Any, installed: 2.0.1]
          - six [required: Any, installed: 1.15.0]
        - attrs [required: Any, installed: 20.3.0]
        - daiquiri [required: Any, installed: 3.0.0]
          - python-json-logger [required: Any, installed: 2.0.1]
        - jsonformatter [required: Any, installed: 0.3.1]
        - kubernetes [required: ~=11.0.0, installed: 11.0.0]
          - certifi [required: >=14.05.14, installed: 2020.12.5]
          - google-auth [required: >=1.0.1, installed: 1.27.0]
            - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
            - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
              - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
            - rsa [required: >=3.1.4,<5, installed: 4.7.2]
              - pyasn1 [required: >=0.1.3, installed: 0.4.8]
            - setuptools [required: >=40.3.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
          - python-dateutil [required: >=2.5.3, installed: 2.8.1]
            - six [required: >=1.5, installed: 1.15.0]
          - pyyaml [required: >=3.12, installed: 5.4.1]
          - requests [required: Any, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - requests-oauthlib [required: Any, installed: 1.3.0]
            - oauthlib [required: >=3.0.0, installed: 3.1.0]
            - requests [required: >=2.0.0, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - setuptools [required: >=21.0.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
          - urllib3 [required: >=1.24.2, installed: 1.26.3]
          - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
            - six [required: Any, installed: 1.15.0]
        - openshift [required: Any, installed: 0.11.2]
          - jinja2 [required: Any, installed: 2.11.3]
            - MarkupSafe [required: >=0.23, installed: 1.1.1]
          - kubernetes [required: ~=11.0.0, installed: 11.0.0]
            - certifi [required: >=14.05.14, installed: 2020.12.5]
            - google-auth [required: >=1.0.1, installed: 1.27.0]
              - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
              - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
                - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
              - rsa [required: >=3.1.4,<5, installed: 4.7.2]
                - pyasn1 [required: >=0.1.3, installed: 0.4.8]
              - setuptools [required: >=40.3.0, installed: 51.3.3]
              - six [required: >=1.9.0, installed: 1.15.0]
            - python-dateutil [required: >=2.5.3, installed: 2.8.1]
              - six [required: >=1.5, installed: 1.15.0]
            - pyyaml [required: >=3.12, installed: 5.4.1]
            - requests [required: Any, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
            - requests-oauthlib [required: Any, installed: 1.3.0]
              - oauthlib [required: >=3.0.0, installed: 3.1.0]
              - requests [required: >=2.0.0, installed: 2.25.1]
                - certifi [required: >=2017.4.17, installed: 2020.12.5]
                - chardet [required: >=3.0.2,<5, installed: 4.0.0]
                - idna [required: >=2.5,<3, installed: 2.10]
                - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
            - setuptools [required: >=21.0.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
            - urllib3 [required: >=1.24.2, installed: 1.26.3]
            - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
              - six [required: Any, installed: 1.15.0]
          - python-string-utils [required: Any, installed: 1.0.0]
          - ruamel.yaml [required: >=0.15, installed: 0.16.12]
            - ruamel.yaml.clib [required: >=0.1.2, installed: 0.2.2]
          - six [required: Any, installed: 1.15.0]
        - pyyaml [required: Any, installed: 5.4.1]
        - requests [required: Any, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - rfc5424-logging-handler [required: Any, installed: 1.4.3]
          - pytz [required: Any, installed: 2021.1]
          - tzlocal [required: Any, installed: 2.1]
            - pytz [required: Any, installed: 2021.1]
        - sentry-sdk [required: Any, installed: 0.20.3]
          - certifi [required: Any, installed: 2020.12.5]
          - urllib3 [required: >=1.10.0, installed: 1.26.3]
    - thoth-common [required: Any, installed: 0.24.1]
      - argo-workflows [required: >=3.5,<4, installed: 3.6.1]
        - kubernetes [required: >=11.0.0, installed: 11.0.0]
          - certifi [required: >=14.05.14, installed: 2020.12.5]
          - google-auth [required: >=1.0.1, installed: 1.27.0]
            - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
            - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
              - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
            - rsa [required: >=3.1.4,<5, installed: 4.7.2]
              - pyasn1 [required: >=0.1.3, installed: 0.4.8]
            - setuptools [required: >=40.3.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
          - python-dateutil [required: >=2.5.3, installed: 2.8.1]
            - six [required: >=1.5, installed: 1.15.0]
          - pyyaml [required: >=3.12, installed: 5.4.1]
          - requests [required: Any, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - requests-oauthlib [required: Any, installed: 1.3.0]
            - oauthlib [required: >=3.0.0, installed: 3.1.0]
            - requests [required: >=2.0.0, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - setuptools [required: >=21.0.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
          - urllib3 [required: >=1.24.2, installed: 1.26.3]
          - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
            - six [required: Any, installed: 1.15.0]
        - mock [required: Any, installed: 4.0.3]
      - attrdict [required: Any, installed: 2.0.1]
        - six [required: Any, installed: 1.15.0]
      - attrs [required: Any, installed: 20.3.0]
      - daiquiri [required: Any, installed: 3.0.0]
        - python-json-logger [required: Any, installed: 2.0.1]
      - jsonformatter [required: Any, installed: 0.3.1]
      - kubernetes [required: ~=11.0.0, installed: 11.0.0]
        - certifi [required: >=14.05.14, installed: 2020.12.5]
        - google-auth [required: >=1.0.1, installed: 1.27.0]
          - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
          - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
            - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
          - rsa [required: >=3.1.4,<5, installed: 4.7.2]
            - pyasn1 [required: >=0.1.3, installed: 0.4.8]
          - setuptools [required: >=40.3.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
        - python-dateutil [required: >=2.5.3, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.15.0]
        - pyyaml [required: >=3.12, installed: 5.4.1]
        - requests [required: Any, installed: 2.25.1]
          - certifi [required: >=2017.4.17, installed: 2020.12.5]
          - chardet [required: >=3.0.2,<5, installed: 4.0.0]
          - idna [required: >=2.5,<3, installed: 2.10]
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - requests-oauthlib [required: Any, installed: 1.3.0]
          - oauthlib [required: >=3.0.0, installed: 3.1.0]
          - requests [required: >=2.0.0, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
        - setuptools [required: >=21.0.0, installed: 51.3.3]
        - six [required: >=1.9.0, installed: 1.15.0]
        - urllib3 [required: >=1.24.2, installed: 1.26.3]
        - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
          - six [required: Any, installed: 1.15.0]
      - openshift [required: Any, installed: 0.11.2]
        - jinja2 [required: Any, installed: 2.11.3]
          - MarkupSafe [required: >=0.23, installed: 1.1.1]
        - kubernetes [required: ~=11.0.0, installed: 11.0.0]
          - certifi [required: >=14.05.14, installed: 2020.12.5]
          - google-auth [required: >=1.0.1, installed: 1.27.0]
            - cachetools [required: >=2.0.0,<5.0, installed: 4.2.1]
            - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]
              - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]
            - rsa [required: >=3.1.4,<5, installed: 4.7.2]
              - pyasn1 [required: >=0.1.3, installed: 0.4.8]
            - setuptools [required: >=40.3.0, installed: 51.3.3]
            - six [required: >=1.9.0, installed: 1.15.0]
          - python-dateutil [required: >=2.5.3, installed: 2.8.1]
            - six [required: >=1.5, installed: 1.15.0]
          - pyyaml [required: >=3.12, installed: 5.4.1]
          - requests [required: Any, installed: 2.25.1]
            - certifi [required: >=2017.4.17, installed: 2020.12.5]
            - chardet [required: >=3.0.2,<5, installed: 4.0.0]
            - idna [required: >=2.5,<3, installed: 2.10]
            - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - requests-oauthlib [required: Any, installed: 1.3.0]
            - oauthlib [required: >=3.0.0, installed: 3.1.0]
            - requests [required: >=2.0.0, installed: 2.25.1]
              - certifi [required: >=2017.4.17, installed: 2020.12.5]
              - chardet [required: >=3.0.2,<5, installed: 4.0.0]
              - idna [required: >=2.5,<3, installed: 2.10]
              - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
          - setuptools [required: >=21.0.0, installed: 51.3.3]
          - six [required: >=1.9.0, installed: 1.15.0]
          - urllib3 [required: >=1.24.2, installed: 1.26.3]
          - websocket-client [required: >=0.32.0,!=0.42.*,!=0.41.*,!=0.40.0, installed: 0.57.0]
            - six [required: Any, installed: 1.15.0]
        - python-string-utils [required: Any, installed: 1.0.0]
        - ruamel.yaml [required: >=0.15, installed: 0.16.12]
          - ruamel.yaml.clib [required: >=0.1.2, installed: 0.2.2]
        - six [required: Any, installed: 1.15.0]
      - pyyaml [required: Any, installed: 5.4.1]
      - requests [required: Any, installed: 2.25.1]
        - certifi [required: >=2017.4.17, installed: 2020.12.5]
        - chardet [required: >=3.0.2,<5, installed: 4.0.0]
        - idna [required: >=2.5,<3, installed: 2.10]
        - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.3]
      - rfc5424-logging-handler [required: Any, installed: 1.4.3]
        - pytz [required: Any, installed: 2021.1]
        - tzlocal [required: Any, installed: 2.1]
          - pytz [required: Any, installed: 2021.1]
      - sentry-sdk [required: Any, installed: 0.20.3]
        - certifi [required: Any, installed: 2020.12.5]
        - urllib3 [required: >=1.10.0, installed: 1.26.3]
    - toml [required: Any, installed: 0.10.2]
  - thoth-ssdeep [required: Any, installed: 3.4]
    - cffi [required: >=0.8.6, installed: 1.14.5]
      - pycparser [required: Any, installed: 2.20]
    - six [required: >=1.4.1, installed: 1.15.0]
  - voluptuous [required: Any, installed: 0.12.1]

Notes

For more information, see Pipfile and Pipfile.lock.

Once this issue is resolved, the issue will be automatically closed by bot.

Querying Thoth for Python package metadata fails in test environment

Describe the bug

When I query Thoth User API for metadata about " https://pypi.org/simple " " tensorflow " " 2.0.0 " (0.291s)
features/steps/python_package_metadata.py:28
Error message
Assertion Failed: Bad status code (500) when obtaining python-package-index from https://test.thoth-station.ninja/api/v1/python/package/metadata

To Reproduce
Steps to reproduce the behavior:

  1. Ask for TensorFlow metadata in test environment
  2. See the error

Expected behavior

Package metadata should be provided.

Amun integration test fails for ocp-test

Describe the bug

    Then wait for inspection to finish successfully                               # features/steps/amun_api.py:96 1.112s
      Traceback (most recent call last):
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/behave/model.py", line 1329, in run
          match.run(runner.context)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/behave/matchers.py", line 98, in run
          self.func(context, *args, **kwargs)
        File "features/steps/amun_api.py", line 104, in wait_for_inspection_to_finish
          response = get_inspection_status(context.amun_api_host, context.inspection_id)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/lib.py", line 47, in get_inspection_status
          api_response = api_instance.get_inspection_status(inspection_id)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/amun/inspection_api.py", line 485, in get_inspection_status
          return self.get_inspection_status_with_http_info(inspection_id, **kwargs)  # noqa: E501
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/amun/inspection_api.py", line 567, in get_inspection_status_with_http_info
          collection_formats=collection_formats)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/api_client.py", line 343, in call_api
          _preload_content, _request_timeout, _host)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/api_client.py", line 182, in __call_api
          return_data = self.deserialize(response_data, response_type)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/api_client.py", line 254, in deserialize
          return self.__deserialize(data, response_type)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/api_client.py", line 293, in __deserialize
          return self.__deserialize_model(data, klass)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/api_client.py", line 631, in __deserialize_model
          kwargs[attr] = self.__deserialize(value, attr_type)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/api_client.py", line 293, in __deserialize
          return self.__deserialize_model(data, klass)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/api_client.py", line 633, in __deserialize_model
          instance = klass(**kwargs)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/models/inspection_status.py", line 58, in __init__
          self.build = build
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/amun/swagger_client/models/inspection_status.py", line 81, in build
          raise ValueError("Invalid value for `build`, must not be `None`")  # noqa: E501
      ValueError: Invalid value for `build`, must not be `None`

To Reproduce
Steps to reproduce the behavior:

  1. clone this repo
  2. run ./test.sh

/assign @bissenbay
/king bug
/priority critical-urgent

Remove hardware and software environments, use s2i endpoints instead

Is your feature request related to a problem? Please describe.

Running integration tests against recent changes in user-api fail with the following error:

  Scenario: Have a look at the Hardware Environments recorded  # features/environments.feature:3
    Given deployment is accessible using HTTPS                 # features/steps/basic.py:31 0.989s
    When I query the list of "hardware" environments           # features/steps/environment.py:28 0.487s
      Assertion Failed: Bad status code (404) when obtaining hardware-environement from stage.thoth-station.ninja

    Then I should get at least one "hardware" environment      # None

  Scenario: Have a look at the Software Environments recorded  # features/environments.feature:8
    Given deployment is accessible using HTTPS                 # features/steps/basic.py:31 0.803s
    When I query the list of "software" environments           # features/steps/environment.py:28 0.425s
      Assertion Failed: Bad status code (404) when obtaining software-environement from stage.thoth-station.ninja

    Then I should get at least one "software" environment      # None

  Scenario: Have a look at the Runtime Environments recorded  # features/environments.feature:13
    Given deployment is accessible using HTTPS                # features/steps/basic.py:31 0.905s
    When I query the list of "runtime" environments           # features/steps/environment.py:28 0.445s
      Assertion Failed: Bad status code (404) when obtaining runtime-environement from stage.thoth-station.ninja

    Then I should get at least one "runtime" environment      # None

Describe the solution you'd like

As software and hardware environment endpoints were removed, we should remove these tests. Rather, we should introduce s2i specific tests to test new endpoints introduced

Run a simple thamos advise for a flask application for raw HTTP connection feature fails

Describe the bug
Run a simple thamos advise for a flask application for raw HTTP connection feature fails

To Reproduce
Steps to reproduce the behavior:

  1. Run THOTH_USER_API_HOST=test.thoth-station.ninja THOTH_MANAGEMENT_API_HOST=management.test.thoth-station.ninja pipenv run behave -i features/thamos_advise.feature

Expected behavior
Integration tests succeeds.

Screenshots

Feature: Running thamos advise against deployment # features/thamos_advise.feature:1

  Scenario: Run a simple thamos advise for a flask application for raw HTTP connection     # features/thamos_advise.feature:3
    Given deployment is accessible using HTTPS                                             # features/steps/basic.py:31 1.534s
    When thamos advise is run for flask_py36 for recommendation type LATEST asynchronously # features/steps/basic.py:58 2.044s
    Then wait for adviser to finish successfully                                           # features/steps/basic.py:88 0.770s
      Traceback (most recent call last):
        File "/home/fmurdaca/.local/share/virtualenvs/integration-tests-ULlXhRXl/lib/python3.6/site-packages/behave/model.py", line 1329, in run
          match.run(runner.context)
        File "/home/fmurdaca/.local/share/virtualenvs/integration-tests-ULlXhRXl/lib/python3.6/site-packages/behave/matchers.py", line 98, in run
          self.func(context, *args, **kwargs)
        File "features/steps/basic.py", line 101, in wait_for_adviser_to_finish
          exit_code = response.json()["status"]["exit_code"]
      KeyError: 'exit_code'
      
      Captured logging:
      WARNING:thamos.config:TLS verification turned off, its highly recommended to use a secured connection, see configuration file for configuration options
      INFO:thamos.lib:Successfully submitted advise analysis 'adviser-345f946b' to 'https://test.thoth-station.ninja/api/v1'

    Then I should be able to retrieve adviser results                                      # None
    Then adviser result has pinned down software stack with report                         # None


Failing scenarios:
  features/thamos_advise.feature:3  Run a simple thamos advise for a flask application for raw HTTP connection

0 features passed, 1 failed, 0 skipped
0 scenarios passed, 1 failed, 0 skipped
2 steps passed, 1 failed, 2 skipped, 0 undefined
Took 0m4.348s

Additional context
See: thoth-station/investigator#301

"Scenario: Querying for Python package versions solved" failes

Feature: Querying Thoth for Python package versions solved for all solvers # features/package_versions_solved.feature:1

  Scenario: Querying for Python package versions solved                                          # features/package_versions_solved.feature:3
    Given a list of packages                                                                     # features/steps/python_package_solved.py:29 0.000s
      | package_name |
      | setuptools   |
    And number of versions for each package_name is available                                    # features/steps/python_package_solved.py:37 0.327s
    And deployment is accessible using HTTPS                                                     # features/steps/basic.py:31 1.190s
    And number of solvers available is provided                                                  # features/steps/python_package_solved.py:47 0.846s
      Traceback (most recent call last):
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/behave/model.py", line 1329, in run
          match.run(runner.context)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/behave/matchers.py", line 98, in run
          self.func(context, *args, **kwargs)
        File "features/steps/python_package_solved.py", line 52, in step_impl
          available_solvers = [str(solver["solver_name"]) for solver in data["solvers"]["python"]]
      KeyError: 'solvers'

    When I query for the solved packages for the package_name from PyPI in Thoth Knowledge Graph # None
    Then I should get the same number provided from PyPI                                         # None

Container image analysis scenario fails

Describe the bug

When I trigger container image analysis for registry.access.redhat.com/ubi8/ubi-minimal:latest with force set to 1 (4.195s)

Traceback (most recent call last):
  File "/opt/app-root/lib64/python3.8/site-packages/behave/model.py", line 1329, in run
    match.run(runner.context)
  File "/opt/app-root/lib64/python3.8/site-packages/behave/matchers.py", line 98, in run
    self.func(context, *args, **kwargs)
  File "features/steps/image_analysis.py", line 73, in step_impl
    assert "terminated" in status
TypeError: argument of type 'int' is not iterable

To Reproduce

This applies to stage and test environment.

Expected behavior

Container image analysis should be successful.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

create integration test for Kebechet internal trigger

Is your feature request related to a problem? Please describe.
As Thoth developer,

I want to have an integration test for Kebechet internal trigger.

Feature:

  • If I send a CVE message to investigator a PR with new software stack advised by thoth is created
  • if a new package is reelased, it should trigger security workflow

Reference: thoth-station/kebechet#584

checking db connection directly via integration test not the best approach

Describe the bug
In the integration test, the feature to check the db connection is not the best approach.

Feature: Checking Database Status

Directly trying to connect via storages, is not feasible. As we don't open our db connection outside the cluster, so integration tests running through CI which is deployed on a different cluster would not be able to make the connection.

from thoth.storages import GraphDatabase

To Reproduce
Steps to reproduce the behavior:

  1. Execute the integration test for production through a CI deployed on different clusters.
  2. See error

Expected behavior
Integration test to fail due to error in the system, not because of the network issue.

Screenshots
database-check

integration test for solvers [5pt]

As a Developer,
I want to run a solver feature test,
so that I can test if a specific package_version is resolved for all solvers configured

Acceptance Criteria

  • documented which package is best for testing aka failing a lot (ask @fridex)
  • think about opening github issues on failed test

Introduce integrations tests for investigator

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Querying Thoth to obtain Python platform information fails in test

Describe the bug

Assertion Failed: Bad status code (504) when obtaining platform from 'https://stage.thoth-station.ninja/api/v1/python/platform': <html><body><h1>504 Gateway Time-out</h1>
The server didn't respond in time.
</body></html>

To Reproduce
Steps to reproduce the behavior:

  1. Run the scenario
  2. See the error

Expected behavior

Results should be available on API endpoitns.

Create DB check tests

Test 1 - Create test to check if can connect to DB.
Test 2 - Create test to check if DB Schema is up-to date.

API up check is handled in the existing tests.

HTML report shown in GMail does not execute JS code

Is your feature request related to a problem? Please describe.

As we send results of integration tests via e-mail, javascript in the HTML is not executed. This makes it impossible to collapse HTML parts, show error messages, and stuff like that.

Describe the solution you'd like

We could send the HTML file in an attachment as well. This way users can download the report and browse it if they wish to see details.

Describe alternatives you've considered

Another workaround is to download the mail and remove the header, keeping just HTML body of the message.

We could also host the report and let integration-tests upload once they are finished.

"Scenario: Run a simple thamos advise for a flask application for raw HTTP connection" fails

  Scenario: Run a simple thamos advise for a flask application for raw HTTP connection     # features/thamos_advise.feature:3
    Given deployment is accessible using HTTPS                                             # features/steps/basic.py:31 1.146s
    When thamos advise is run for flask_py36 for recommendation type LATEST asynchronously # features/steps/basic.py:58 1.192s
      Traceback (most recent call last):
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/behave/model.py", line 1329, in run
          match.run(runner.context)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/behave/matchers.py", line 98, in run
          self.func(context, *args, **kwargs)
        File "features/steps/basic.py", line 85, in thamos_advise
          debug=True,
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/thamos/lib.py", line 89, in wrapper
          result = func(api_client, *args, **kwargs)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/thamos/lib.py", line 367, in advise
          response = api_instance.post_advise_python(advise_input, **parameters)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/thamos/swagger_client/thoth/advise_api.py", line 434, in post_advise_python
          (data) = self.post_advise_python_with_http_info(body, recommendation_type, **kwargs)  # noqa: E501
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/thamos/swagger_client/thoth/advise_api.py", line 554, in post_advise_python_with_http_info
          collection_formats=collection_formats)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/thamos/swagger_client/api_client.py", line 321, in call_api
          _preload_content, _request_timeout)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/thamos/swagger_client/api_client.py", line 152, in __call_api
          _request_timeout=_request_timeout)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/thamos/swagger_client/api_client.py", line 364, in request
          body=body)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/thamos/swagger_client/rest.py", line 274, in POST
          body=body)
        File "/home/goern/.local/share/virtualenvs/integration-tests-Me6nOCO7/lib/python3.6/site-packages/thamos/swagger_client/rest.py", line 227, in request
          raise ApiException(http_resp=r)
      thamos.swagger_client.rest.ApiException: (400)
      Reason: BAD REQUEST
      HTTP response headers: HTTPHeaderDict({'Server': 'gunicorn/20.0.4', 'Date': 'Tue, 25 Aug 2020 07:17:03 GMT', 'Content-Type': 'application/problem+json', 'Content-Length': '136', 'Access-Control-Allow-Origin': '*', 'X-Thoth-Version': '0.6.9', 'Set-Cookie': '99ca826347b0162a0aa474189c69e824=a27b82616b37342ceb8a8082ff754911; path=/; HttpOnly; Secure'})
      HTTP response body: {
        "detail": "Extra query parameter(s) limit_latest_versions not in spec",
        "status": 400,
        "title": null,
        "type": "about:blank"
      }
      
      
      
      Captured logging:
      WARNING:thamos.config:TLS verification turned off, its highly recommended to use a secured connection, see configuration file for configuration options

    Then wait for adviser to finish successfully                                           # None
    Then I should be able to retrieve adviser results                                      # None
    Then adviser result has pinned down software stack with report                         # None

No runtime environment with name 'download-dataset' was found in the configuration file for hoth-station/elyra-aidevsecops-tutorial

Describe the bug

hen I ask for an advise for the cloned application for runtime environment download-dataset , with user stack supplied and without static analysis (0.075s)
features/steps/advise.py:212
Error message
Traceback (most recent call last):
  File "/opt/app-root/lib64/python3.8/site-packages/behave/model.py", line 1329, in run
    match.run(runner.context)
  File "/opt/app-root/lib64/python3.8/site-packages/behave/matchers.py", line 98, in run
    self.func(context, *args, **kwargs)
  File "features/steps/advise.py", line 232, in step_impl
    results = advise_here(
  File "/opt/app-root/lib64/python3.8/site-packages/thamos/lib.py", line 565, in advise_here
    return advise(
  File "/opt/app-root/lib64/python3.8/site-packages/thamos/lib.py", line 104, in wrapper
    result = func(api_client, *args, **kwargs)
  File "/opt/app-root/lib64/python3.8/site-packages/thamos/lib.py", line 391, in advise
    thoth_config.get_runtime_environment(runtime_environment_name) or dict()
  File "/opt/app-root/lib64/python3.8/site-packages/thamos/config.py", line 392, in get_runtime_environment
    raise NoRuntimeEnvironmentError(
thamos.exceptions.NoRuntimeEnvironmentError: No runtime environment with name 'download-dataset' was found in the configuration file; configured runtime environment names: rhel:8

Captured logging:
INFO:thamos.lib:Using Pipenv files to manage dependencies located in '/tmp/tmp2_hlf3sl'
INFO:thamos.lib:Submitting Pipfile.lock as a base for user's stack scoring - see https://thoth-station.ninja/j/user_stack
ERROR:thamos.lib:Pipfile hash stated in Pipfile.lock '8b3de1' does not correspond to Pipfile hash '7a91a3' - was Pipfile adjusted? This error is not critical.

To Reproduce
Steps to reproduce the behavior:

  1. Go to test environment
  2. Trigger integration tests
  3. See the error

Expected behavior

Integration test should succeed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.