Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 Fixes dynamic-sidecar settings in director-v2 #2431

Merged
merged 6 commits into from
Jul 14, 2021

Conversation

pcrespov
Copy link
Member

@pcrespov pcrespov commented Jul 14, 2021

What do these changes do?

Settings introduced in PR #2411 fail to initialize when deployed in master environment

Traceback (most recent call last):
  File "/home/scu/.venv/bin/uvicorn", line 8, in <module>
    sys.exit(main())
  File "/home/scu/.venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/scu/.venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/scu/.venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/scu/.venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/scu/.venv/lib/python3.8/site-packages/uvicorn/main.py", line 362, in main
    run(**kwargs)
  File "/home/scu/.venv/lib/python3.8/site-packages/uvicorn/main.py", line 386, in run
    server.run()
  File "/home/scu/.venv/lib/python3.8/site-packages/uvicorn/server.py", line 49, in run
    loop.run_until_complete(self.serve(sockets=sockets))
  File "uvloop/loop.pyx", line 1456, in uvloop.loop.Loop.run_until_complete
  File "/home/scu/.venv/lib/python3.8/site-packages/uvicorn/server.py", line 56, in serve
    config.load()
  File "/home/scu/.venv/lib/python3.8/site-packages/uvicorn/config.py", line 308, in load
    self.loaded_app = import_from_string(self.app)
  File "/home/scu/.venv/lib/python3.8/site-packages/uvicorn/importer.py", line 20, in import_from_string
    module = importlib.import_module(module_str)
  File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 848, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/scu/.venv/lib/python3.8/site-packages/simcore_service_director_v2/main.py", line 7, in <module>
    the_app: FastAPI = init_app()
  File "/home/scu/.venv/lib/python3.8/site-packages/simcore_service_director_v2/core/application.py", line 34, in init_app
    settings = AppSettings.create_from_envs()
  File "/home/scu/.venv/lib/python3.8/site-packages/settings_library/base.py", line 56, in create_from_envs
    obj = cls()
  File "pydantic/env_settings.py", line 36, in pydantic.env_settings.BaseSettings.__init__
  File "pydantic/main.py", line 406, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for AppSettings
DYNAMIC_SERVICES
  field required (type=value_error.missing)

@GitHK when dynamic-sidecar is in place, please make sure test_core_settings.py runs with an environment as close as possible to production. We need to have a better control on the env vars while running tests, e.g. **avoid autouse ** in disable_dynamic_sidecar_scheduler_in_unit_tests or see also comments in mock_env,

Related issue/s

How to test

directorv2 test

@codecov
Copy link

codecov bot commented Jul 14, 2021

Codecov Report

Merging #2431 (e497e55) into master (215ca26) will increase coverage by 0.0%.
The diff coverage is 91.6%.

Impacted file tree graph

@@          Coverage Diff           @@
##           master   #2431   +/-   ##
======================================
  Coverage    76.0%   76.0%           
======================================
  Files         571     571           
  Lines       21521   21520    -1     
  Branches     2068    2068           
======================================
+ Hits        16361   16369    +8     
+ Misses       4607    4601    -6     
+ Partials      553     550    -3     
Flag Coverage Δ
integrationtests 65.8% <91.6%> (+<0.1%) ⬆️
unittests 69.9% <75.0%> (-0.1%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...re_service_director_v2/modules/dynamic_services.py 90.6% <ø> (ø)
...rc/simcore_service_director_v2/core/application.py 89.3% <75.0%> (ø)
...2/src/simcore_service_director_v2/core/settings.py 100.0% <100.0%> (ø)
..._director_v2/modules/dynamic_sidecar/docker_api.py 84.9% <0.0%> (-0.7%) ⬇️
.../director/src/simcore_service_director/producer.py 61.1% <0.0%> (+0.2%) ⬆️
...simcore_service_webserver/projects/projects_api.py 84.7% <0.0%> (+0.3%) ⬆️
...erver/src/simcore_service_webserver/director_v2.py 81.8% <0.0%> (+2.2%) ⬆️
...webserver/computation_comp_tasks_listening_task.py 85.7% <0.0%> (+5.1%) ⬆️

@pcrespov pcrespov self-assigned this Jul 14, 2021
@pcrespov pcrespov added the a:director-v2 issue related with the director-v2 service label Jul 14, 2021
@pcrespov pcrespov added this to the Wombat milestone Jul 14, 2021
@pcrespov pcrespov merged commit ae8c6d1 into ITISFoundation:master Jul 14, 2021
@pcrespov pcrespov deleted the fix/dynamic-sidecar-settings branch July 14, 2021 15:26
@GitHK
Copy link
Contributor

GitHK commented Jul 19, 2021

@pcrespov I see what you mean about autouse now. Took a note of this and will fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:director-v2 issue related with the director-v2 service
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants