July 2016¶
July 26, 2016 - pyATS v3.1.0¶
Newer is usually better!
Building on the new foundations set forth by v3.0.0
, v3.1.0
introduces
an arsenal of exciting new, mostly backward compatible features:
Support for 64-bit Python
Customizable Easypy HTML reports
Support for Easypy Automatic Reruns
Step-debug feature revamp
Introduction of a new
mpip
tool for managedpip
upgrade/downgradeRemoved hard-coded virtual environment dependency
Generic Find object
AEtest custom script discovery & section ordering
Topology graph generation (as part of Easypy)
Modules |
Versions |
Comments |
---|---|---|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
|
|
v3.1.0 |
In addition, along with pyATS v3.1.0`
we are releasing the following
packages in cisco-shared:
- Abstract (new)
package enabling token-based library abstraction, enabling users to build os/platform/release/feature/etc and reference them dynamically in their scripts without hard-coded imports.
- Yang Connector (new)
pyATS connection class, implementing YANG/NETCONF connection over SSH using Paramiko.
- DynTopo (updated)
LaaS-NG users may now request L1 links with a variety of speed and media options.
- Genie (updated)
Design uplift, including attribute helpers, CliBuilder, and managed attributes.
- MetaParser (updated)
Uplifted MetaParser package with integrated support for abstraction.
Upgrade Instructions¶
# install new pyATS version
bash$ pip install --upgrade ats
Changes¶
- AEreport
Modified
generate_xunit
to reflect similar test cases count between xUnit and pyATS result count.Now supports step objects.
Runtime calculation is now being done properly when a task dies suddenly.
- AEtest
Major improvements in step debug feature, including:
A new more streamlined schema featuring regex-based device and step name specification
User defined functions may now be specified
Now supports nested steps
New discovery engine, supporting user defined custom discovery classes. Now users have the ability to alter the testcase/section discovery and ordering processes. For more information, refer to Custom Discovery and Order documentation
Pause on phrase enhancement - touching the pause file shuts down the timer, allowing users to debug at their leisure.
Affix functionality for
skip
,skipIf
,skipUnless
decoratorsSkipped testcases are no longer reported when skipped due to usage of
uids
andgroups
feature.Long names in testcases and steps, are truncated to 80 characters in the reports.
Fixed a bug in parameter map where backup/restore during
__call__
should refer only to local parameter
- Easypy
Refactored Email generation to use the new
EmailMsg
utils module with support for HTML report notifications.attachments are now accepted using MIMEMultipart formats in both HTML and text format
Jinja2 templating engine is now used to render the email HTML template
now supports custom HTML email templates
Automatic Reruns functionality: a re-run file is now generated as the end of each run. Users may now re-run a given resultset using the re-runf file plus additional rerun conditions. For more information, refer to Automatic Reruns documentation
Users may now modify the email recipient list through
easypy.runtime
.Fixed an issue with the easypy email subsystem where email contents with embedded braces were not being properly rendered.
The runtime directory is now preserved if a
disk-quota-full
error occursEasypy now returns
1
(failure) if any job or task plugin exception occurs.Refactored kleenex failure handling, now when the
-pdb
command line parameter is specified:Cleaners are run serially instead of in parallel.
In the event an exception is thown by a cleaner or bringup worker, an interactive debugger is automatically opened at the point of failure.
Refactored plugin exception and return code processing. Please see Easypy Return Codes for details.
Now generates a topology graph in pdf format as part of the run, providing a visual reference of their topology input file.
- Installation
support for 64-bit pyATS installation & python binaries.
support for providing alternate git user with
--git-user
argumentsupport for no git-checking and/or repository cloning with
--no-git
argumentnow only automatically installing the csccon (default router connection) package. No longer automatically installing dyntopo, tclclean, hltapi packages.
updated to latest
pip
andsetuptools
install script now installs
Csccon
in addition to all pyATS core packages. No other cisco-shared packages are installed by default.environment checks have been tightened up. Installation now also checks for
gcc-c++
package’s existence in addition to existing ones. Server without this package may need to install it as root usingyum
.
- Kleenex
Now users may overwrite loopback interface configuration coming back from the bringup orchestrator.
Debug enhancements, including a new kleenex tool
-debug
parameter (please see Standard Arguments for details). Debug mode is also selected when the-pdb
command line parameter is specified. When debug mode is in force:Cleaners are run serially instead of in parallel.
If a cleaner or bringup worker throw an exception, an interactive debugger is automatically opened at the point of failure.
- Tcl
Fixed a bug in
tcl.cast_any()
where lists were not being properly cast when it containsTcl_Obj
- Topology
Schema - support for ipv6 hostname translation using
getaddrinfo
.Grapher - New tool allowing users to generate a network topology graph that displays devices and links by using a testbed object.
- Utils
Standardize email generation library in pyATS (EmailMsg)
Refactored unit tests to work more reliably in CI environment.
New Find: a generic find function, enabling searching for arbitrary objects through a given set of requirements.
- Miscellaneous
Removed
sys.environ['VIRTUAL_ENV']
dependency. Now usessys.prefix
insteadAEtest, Kleenex, Topology, Utils: added
extends
capability to testbed YAML loader. Please see Topology Schema for details.Refactored and harmonized extends processing across testbed, datafile and kleenex loaders.
New mpip (managed pip) script:
pip
wrapper, enabling users to manage their package versions & roll-back to earlier versions easier.
And, as usual, a plethora of bug fixes in addition to potential new bugs that we are neither aware of, nor able to zap… yet.
1811 unittests and counting
July 4, 2016¶
Modules |
Versions |
Comments |
---|---|---|
|
v3.0.7 |
Upgrade Instructions¶
bash$ pip install --upgrade ats.kleenex
Changes¶
DE15484 - Now properly handling the case in which the logical and actual device names are equal. This is most often seen when doing LaaS-NG orchestration.
US108415 - Now detecting loopback interfaces and merging them directly from the logical to the actual topology.
Fixed a minor debug logging bug introduced in kleenex version 3.0.5.
install script updated to include
--no-git
argument: disables all git checkings & git repository cloningpypi server is now updated to support searching:
bash$ pip search ats.aetest