October 2026¶
October 27 - Pyats v26.10¶
Modules |
Version |
|---|---|
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
|
v26.10 |
Changelogs¶
New¶
- kleenex
Added process-safe coordination for parallel Clean workers, including readiness, completion, failure, and timeout handling.
Generated Clean coordination metadata is honored without requiring a
clean_devicesentry in the Clean configuration.Clean now reports worker failures instead of silently omitting workers
Fix¶
- kleenex
Keep Clean stages declared with an empty body (e.g.
connect:) as empty dicts instead of removing them, fixing “Stage ‘<name>’ has no configuration in clean.yaml” errors.Remove
None-valued entries from merged Clean configuration before it is displayed, saved, and applied to the testbed.- Added standalone xUnit reporting
Support –xunit and –xunit-include-logs with pyats clean, including an alternative output directory.
Keep xUnit generation disabled unless explicitly requested.
Finalize reporting when Clean engine initialization fails before any device section starts.
Easypy now reserves five minutes before an active runtime deadline and passes the remaining Clean budget through a private engine integration path.
Bounded that shared invocation timeout across parallel workers, sequential device groups, debug mode, and full-Clean recovery retries.
Added bounded worker and descendant termination with SIGKILL fallback when a runtime or per-device timeout expires.
Made worker-result publication atomic so deadline cleanup cannot block on a partially written result. The public
timeout=API retains its per-worker behavior, including the existingtimeout=0fallback; zero on the private invocation path prevents a worker from starting.Fixed coordinated Clean execution in debug mode and when a worker exits before coordination completes.
- easypy
- Modified XunitPlugin
Generate requested xUnit reports after job reporter finalization when a pre-job plugin fails.
Add a standard JUnit testcase for unsuccessful top-level job plugins and include the OneDevX reference when available.
Exclude non-rollup sections from XML counts and time while retaining independently reportable children.
Retain testcases when optional logs cannot be read.
Updated xUnit reports to omit intermediate retry attempts and include the final result. Runs without retries are unchanged.
- kleenex / easypy
- Improved Clean device-selection logging
Log
--clean-devicesselections separately from configuration defaults and effective device alias/name mappings, without changing Clean targets.
- cisco
- Modified BringupSubcommand
pyats testbed bringup --clean-fileno longer fails with an emptyStopIterationerror when the clean file only has abringupsection and no cleaners.