-
Notifications
You must be signed in to change notification settings - Fork 592
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
chore(agw): Python dependency upgrades #13482
chore(agw): Python dependency upgrades #13482
Conversation
Thanks for opening a PR! 💯
Howto
More infoPlease take a moment to read through the Magma project's
If this is your first Magma PR, also consider reading
|
✔️ The Semantic PR check ended with status success. See instructions on formatting your commit and pull request titles. |
9f92c33
to
78b2816
Compare
For documentation purposes: running
|
Tried to install the magma package and python3 dependencies on a regular VM per @nstng instructions (as in the PR description):
Afterwards services where not running properly since packages could not be found. Had to reinstall some packages (e.g. in magmad Next, I tried pipelined. Turns out that we seem to use a jinja2 version that is too high.[1] Instead of 3.1.2 we should probably try the highest v2, that is 2.11.3. It might also be a better idea, to use the prod VM for installation and testing. May be, there we don't face all the issues with reinstalling packages. [1] |
Thanks for the comment @alexzurbonsen, @wolfseb and I have roughly the same situation. It is still not entirely clear to us why some of the services are not running. Packages like |
Update: we got all magma services running by reinstalling the following Python packages:
via
It is then possible to run the integ tests via the magma_test VM |
Integ tests have been run for the new VM. The following tests fail: Precommit: None Extended: None Nonsanity:
|
c3aa42a
to
e57b954
Compare
a175af0
to
aeda5e4
Compare
I triggered a run for the lte integ test |
The changes look good to me. I verified i could build all |
@jheidbrink yes we tested this in the process and installed magma just from the debian packages. |
fe4c1fc
to
3dc19bb
Compare
I think the integration test run is mostly looking good, only one red test from what I can see. Is test_tau_periodic_active known to be flaky? |
At least I remember that I commented that one out locally a while ago. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bazel + pipelined lgtm
Needs another rebase because of changes to the required jobs, then it should finally be ready to merge. |
- Upgraded versions in `lte/gateway/setup.py` and `orc8r/gateway/setup.py` where possible. - Added `--python-pip /home/vagrant/build/python/bin/pip` to the `fpm` command in `pydep`. This option ensures that we are not using `easy_install` inadvertently. - Added a step to upgrade `fpm` upon VM provisioning. This step should be removed after the next preburn is created. The `fpm` upgrade is necessary to build a `.deb` file for `cryptography`. - Updated the `magma.lockfile.ubuntu` by running `fab release package`. Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
- Added pylint exception. The linter erroneously flags this line otherwise. Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
- Updated bazel files. - Also replaced `systemd` with `systemd-python` in bazel files since these are different packages Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
- Updated bazel files. - Also replaced `systemd` with `systemd-python` in bazel files since these are different packages Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
Signed-off-by: Alexander zur Bonsen <alexander.zur.bonsen@tngtech.com>
Signed-off-by: Alexander zur Bonsen <alexander.zur.bonsen@tngtech.com>
Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
This change makes bazel consistent with the setup.py files. The two packages have similar interfaces but are different and cannot just be interchanged. The use of `systemd.daemon.notify` in `sdwatchdog.py` also indicates that `systemd_python` is the intended package one should use. Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
Using pip to download some packages for fpm fails currently since fpm uses adds the `--no-binary :all:` flag to pip download. Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
fpm is now already on the latest version when you spin up the VM. Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com>
2f6fca5
to
86b098c
Compare
* chore(agw): Updating python dependencies - Upgraded versions in `lte/gateway/setup.py` and `orc8r/gateway/setup.py` where possible. - Added `--python-pip /home/vagrant/build/python/bin/pip` to the `fpm` command in `pydep`. This option ensures that we are not using `easy_install` inadvertently. - Updated the `magma.lockfile.ubuntu` by running `fab release package`. - Added pylint exception. The linter erroneously flags this line otherwise. - Updated bazel files. - Also replaced `systemd` with `systemd-python` in bazel files since these are different packages * bazel: downgrade pyyaml and generate requirements.txt changes * chore(agw): Replace systemd with systemd_python This change makes bazel consistent with the setup.py files. The two packages have similar interfaces but are different and cannot just be interchanged. The use of `systemd.daemon.notify` in `sdwatchdog.py` also indicates that `systemd_python` is the intended package one should use. Signed-off-by: Moritz Huebner <moritz.huebner@tngtech.com> Signed-off-by: Alexander zur Bonsen <alexander.zur.bonsen@tngtech.com> Co-authored-by: Alexander zur Bonsen <alexander.zur.bonsen@tngtech.com>
Fixes #13426
In pairing with @wolfseb
Summary
Done:
pipdeptree
to analyze packages and dependencies.fpm
during provisioning. This is necessary to buildcryptography
.pydep
, since apython3-docker
exists inhttp://archive.ubuntu.com/ubuntu/
.Test Plan
fab release package:destroy_vm=True
on the host VM to trigger new magma and dependency*.deb
files to be built.*.deb
files, and any other dependencies that have not been newly packaged from the artifactory./etc/magma
.magma*.deb
file.magma_test
andmagma_trfserver
build-all
script on a fork: https://github.com/MoritzThomasHuebner/magma/runs/7759753398?check_suite_focus=truebazel/external/requirements.in
do not cause any version conflictsAdditional Information
There are a number of packages we were not able to upgrade:
fpm
requires that there is asetup.py
, thus some of the newest versions ofpyparsing
,jsonschema
,pyroute2
can no longer be built since these packages now utilize other build methods.setuptools
: The version49.6.0
is hardcoded in some places.docker
: Ubuntu focal is not compatible withdocker>=5
.requests
: The latest versions requiredocker>=5
.flask
is restricted to1.1.4
.click
,itsdangerous
,Jinja2
, andmarkupsafe
.redis
is restricted to3.5.3
.cryptography
is restricted to3.2.1
because newer versions cannot be built withfpm
.PyYAML
is restricted to<6.0
This change is backwards-breaking