(CTTC) Fix websockets incompatible dependency versions
Reporters
- Javier Mateos (NAUDIT)
- Rafael Leira (NAUDIT)
- Lluis Gifre (CTTC)
Description
There is an incompatibility issue when preparing development environment for TeraFlowSDN; in particular, components E2E Orch, VNTM, and NBI use websockets==12.0
while Device uses websockets==10.4
. Upgrading to version 12.0 as features used in Device are compatible with that version also.
Deployment environment
- Operating System (include version): any
- MicroK8s (include version and add-ons): any
- TeraFlowSDN (include release/branch-name/commit-id): develop
TFS deployment settings
Preparation of development environment.
Sequence of actions that resulted in the bug
Preparation of development environment.
Document the explicit error
Run:
$ ./install_requirements.sh
Output log:
Creating integrated requirements file...
Collecting requirements from components...
Compiling requirements...
ERROR: Cannot install websockets==10.4 and websockets==12.0 because these package versions have conflicting dependencies.
Traceback (most recent call last):
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 174, in _add_to_criteria
raise RequirementsConflicted(criterion)
pip._vendor.resolvelib.resolvers.RequirementsConflicted: Requirements conflict: SpecifierRequirement('websockets==10.4'), SpecifierRequirement('websockets==12.0')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve
result = self._result = resolver.resolve(
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py", line 399, in resolve
raise ResolutionImpossible(e.criterion.information)
pip._vendor.resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=SpecifierRequirement('websockets==10.4'), parent=None), RequirementInformation(requirement=SpecifierRequirement('websockets==12.0'), parent=None)]
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/bin/pip-compile", line 8, in <module>
sys.exit(cli())
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/piptools/scripts/compile.py", line 470, in cli
results = resolver.resolve(max_rounds=max_rounds)
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/piptools/resolver.py", line 604, in resolve
is_resolved = self._do_resolve(
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/piptools/resolver.py", line 636, in _do_resolve
resolver.resolve(
File "/home/XXXXXX/.pyenv/versions/3.9.20/envs/tfs/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 104, in resolve
raise error from e
pip._internal.exceptions.DistributionNotFound: ResolutionImpossible: for help visit https://urldefense.com/v3/__https://pip.pypa.io/en/latest/topics/dependency-resolution/*dealing-with-dependency-conflicts__;Iw!!D9dNQwwGXtA!WGqw2hDh9_I-dJNlk-l7sj3oUrjeVodsjKuE_bBE6OqOvKu0IIvH_vUrYfD7zRrtzTRe1ffUz6Mmrw5C0Urx7IpmwFw$
Installing requirements...
ERROR: Could not open requirements file: [Errno 2] No such file or
directory: 'requirements.txt'
rm: cannot remove 'requirements.txt': No such file or directory ```
Expected behaviour
Deployment environment to be properly configured.
References
None