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

103.next LTS backports #5953

Draft
wants to merge 13 commits into
base: 103lts
Choose a base branch
from

Conversation

clebergnu
Copy link
Contributor

@clebergnu clebergnu commented Jun 11, 2024

This is a collection of bugfixes that do not change the behavior (besides fixing/improving the specific condition) that come from Avocado versions > 103.x.

The tmpfile.mktemp function for creating tmp files has been depraceted
since 2.3 and has security issues. Lets remove it and use
tmpdir instead.

Reference:
https://github.com/avocado-framework/avocado/security/code-scanning/278
Signed-off-by: Jan Richter <[email protected]>
@clebergnu clebergnu added this to the #106 - Codename TBD milestone Jun 11, 2024
@clebergnu clebergnu self-assigned this Jun 11, 2024
richtja and others added 4 commits June 11, 2024 13:59
This commit adds error handling to TaskStatusService. When the
connection is lost, it will try to establish a new connection. If the
connection is not possible to renew, the task will send warning message
about new status and remove TaskStatusService from available services.

Reference: avocado-framework#5794
Signed-off-by: Jan Richter <[email protected]>
Signed-off-by: Cleber Rosa <[email protected]>
This commit will move establishment of status service connection from
post method to its own dedicated method. Thanks to this change, it will
be possible to establish connection over again when a problem occurs.

Signed-off-by: Jan Richter <[email protected]>
When creating Runnables from recipes, the given configuration will get
discarded when "filtering" the configuration used.

The correct approach is to keep the given configuration, and suplement
it with the other needed (used) configuration.

Signed-off-by: Cleber Rosa <[email protected]>
This creates a Dependency class to make dependencies hashable. Thanks to this
change, we can easily find duplicates and remove them. This change is really
necessary for Job dependencies, where the duplicates can be easily created by
adding the same dependency to a test and job.

Signed-off-by: Jan Richter <[email protected]>
Signed-off-by: Cleber Rosa <[email protected]>
@arif-ali
Copy link

arif-ali commented Jul 1, 2024

Are these back-ports due any soon, and would love to see PR related to discussion #5610 to be also back-ported too. Any updates on that would be very much appreciated

@clebergnu
Copy link
Contributor Author

Are these back-ports due any soon, and would love to see PR related to discussion #5610 to be also back-ported too. Any updates on that would be very much appreciated

Hi @arif-ali,

I'll look into including those. We managed to release 106.0 last week, so I have more resources to push this through now.

Best!

richtja and others added 2 commits July 3, 2024 08:30
The store_logging_stream_external test installs external package
matplotlib and checks with the package properly logs to the avocado
directories. Unfortunately, this test used hardcoded line number of
matplotlib. Because of this, the test started failing when the line was
changed. This commit fixes this test by using regex instead of hardcoded
string. After this change, the test should be protected against external
changes in matplotlib package.

Signed-off-by: Jan Richter <[email protected]>
On Python 3.12.2 and later the message given when no tests are run
was reverted to the pre-3.12.1 era. Sigh.

Let's adapt the nrunner selftest to take that into consideration.

Signed-off-by: Cleber Rosa <[email protected]>
The container image used in CI for the static checks now has black
installed from pip.  This means that the executable "black" may not be
always accessible, but using "python3 -m" as an entrypoint is.

This is a partial backport of 77ca585.

Signed-off-by: Cleber Rosa <[email protected]>
Fedora 38 is the development image used on CI, and one that is popular
for Avocado development at this time.  Let's match the version of
psutil available on the distro with the development requirement.

This avoid the atempt to compile a custom version of psutil.

Signed-off-by: Cleber Rosa <[email protected]>
There's value in making the zstd probe function public (which was
previously not perceived).  This function can be used to skip/cancel
tests when a suitable zstd is not found.

Signed-off-by: Cleber Rosa <[email protected]>
clebergnu and others added 2 commits November 25, 2024 02:56
This fixes two problems with the current version parse mechanism:

 1. Recent setuptools' version parse function, which has dropped
    "LegacyVersion" support, raises an InvalidVersion exception
    for common kernel version info as presented by the system and
    returned by os.uname()

 2. The import of the packaging module is broken on systems with no
    setuptools and only the "packaging" module.

This introduces a simple but custom version parse that solves both and
simplifies dependencies.

Fixes: avocado-framework#6058
Signed-off-by: Cleber Rosa <[email protected]>
This adds markupsafe<3.0.0 requirements to html plugin, because
markupsafe-3.0.0 can't be installed with older versions of setuptools on
RHEL9 and other systems because of `CCompilerError`.

We need to add the same requirement to `ansible` plugin,
because it would try to install markupsafe-3.0.0

Reference: avocado-framework#6038
Signed-off-by: Jan Richter <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Review Requested
Development

Successfully merging this pull request may close these issues.

3 participants