Skip to content

Avocado venv bootstrap - deprecation/removal of eggs #6108

@clebergnu

Description

@clebergnu

Is your feature request related to a problem? Please describe.
Avocado is capable of deploying itself to other environments such as podman containers (and then be run by spawners other than process), it does so using Python eggs. Python eggs are deprecated and Avocado should not continue to rely on them.

Describe the solution you'd like
The standard way of deploying Python applications is now though PIP in isolated virtual environments (venvs). Avocado should attempt to do follow the standard.

To allow for offline operation in the deployed environments, Avocado should continue to be able to download the needed packages (currently it does eggs, but should also support wheels/tarballs).

If the filesystem is the same, or filesystem sharing is available, there could be a preparation of the venv (one for each platform/Python version) that would be given (preferably as read-only) to the deployed environment.

Describe alternatives you've considered
The alternative is dropping support for Avocado deployment when support for eggs are ultimately removed from the Python ecosystem. The downside would be more manual actions required for Avocado users to run tests in other environments.

Metadata

Metadata

Assignees

Projects

Status

Short Term (Current Q) Backlog

Relationships

None yet

Development

No branches or pull requests

Issue actions