February 2016¶
Warning
Starting Jan 1st, 2016, Python 2.x is no longer supported by pyATS. All development features & bug fixes will only be released for Python 3.x+ versions.
Please upgrade your Python dependencies as soon as possible.
February 24, 2016¶
Modules |
Versions |
---|---|
|
v2.2.2 |
Bug Fixes¶
Standalone reporter was throwing exceptions when users try to run testcases without aetest. Because there was no testcase entry in the testResultDetails list, it wasn’t able to add section information to the list. Now, if a section was run and testResultDetails list is empty, there will be a dummy testcase entry in the list as a container of sections information.
February 23, 2016¶
Modules |
Versions |
---|---|
|
v2.2.1 |
Bug Fixes¶
Topology loader will not assign the testbed.name field by default anymore.
February 4, 2015 - pyATS v2.2.0¶
Announcing the release & availablility of pyATS v2.2.0
. This is a feature
release, intended to be mostly backwards compatible to v2.1.0
, introducing
new features & fixing old bugs/limitations
Please take a moment to study this changelog.
Modules |
Versions |
Comments |
---|---|---|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
renamed atslog -> log |
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
|
|
v2.2.0 |
Upgrade Instructions¶
if you are upgrading from
v2.0.1+
, it is pretty straightforward:bash$ pip install --upgrade ats
if you are upgrading from a lower version, please refer to
v2.0.0
andv2.0.1
upgrade instructions first.
Changes¶
v2.2.0
packs a few under-the-hood changes that enables better extendability
in the long run, and includes subtle tweaks to better the user interactive
experience. As always, refactoring of the internal code is done wherever
necessary to make room for future scalability.
In addition to v2.2.0
, the following new Cisco-Shared packages developed
by ASG team is also being released at the same time:
xrut
: module that allows the seamless executon of XRUT scripts under Easypy job file.
dyntopo
: module offering a collections of tools to launch and tear down dynamic topologies, including a LaaS-NG orchestrator. See: DynTopo
- AEtest
support for script Datafile Inputs, an alternative way to alter your script run & augment your script with new values & etc.
support for Pause on Phrase, pausing the script at a matching log message and allowing you to choose either an email notification, or automatically open up a debugger/interactive shell.
support for Global Processors
reworked how results are reported under stand-alone execution.
visual result report now includes step reports
fixed a bug where looped testcases were sharing the same testcase parameter object instance and allowed value corruptions.
- Async
fixed an issue with
async.Pcall
where function returns of larger than 64K causes the process to hang up and raiseTimeoutError
.keep in mind there is a hard-ceiling for function returns to be no larger than ~78MB, limited due to the use of 32-bit Python.
- BringUp
US49255 (allow user-defined bringup implementations):
Dynamic topologies are now brought up in a worker subprocess.
Debugging of a worker subprocess is possible via the
-pdb
CLI argument.Introduced the new
ats.bringup.BringUp
object as the primary user interface to bringup.The
ats.bringup.BringUp
object is now the recommended context manager for standalone scripts, althoughats.bringup.XrutBringUp
is still supported for back-compatibility.Added the
bringup/class
key to the clean YAML schema to make it possible for users to contribute their own bringup implementations.Changed the standalone bringup tool CLI option from
-xrut_tb_yaml_output_file_name
to-tb_yaml_output_file_name
.bringup -help
now renders all CLI options correctly.Refactored and split out common bringup logic that is not XR-UT specific.
Refactored
bringup
parameters to make them more similar toats.aetest
. This means that most of the parameters displayed bybringup -help
may also be specified on theeasypy
command line and they will be passed through to the bringup subsystem (but they won’t appear in theeasypy -help
display).Refactored easypy clean plugin to bring up dynamic topologies in a subprocess.
Reworked example standalone script to use
ats.bringup.BringUp
.Refactored the topology loader, pulled out common logic which is now used for both testbed and clean YAML loading.
Realigned the allowable virtual logical device types to be less XRUT-specific:
¶ Old logical type name
New logical type name
nxos
nxosv
iol-pagent
iol_pagent
ios
ios_dynamips or iosv
ios-pagent
ios_dynamips_pagent or iosv_pagent
xrvr
iosxrv
US58901 , US54326 : Integrated the cisco-shared dyntopo bringup module for LaaS-NG, which introduces the concept of job-scope bringup.
Fixed a bug in testbed configuration merge conflict resolution, now conflicting values are properly resolved when they are more than one level deep.
Now warning the user if they are using the
is_logical
testbed YAML key. This will be removed in the next release, thelogical
key is to be used instead.US60655 (allow user-defined logical device/interface testbed configuration): Users can now specify their own keys and values under logical devices and interfaces in their testbed configuration and see them appear in the actual testbed configuration. Although it is now also possible for the user to overwrite keys that are auto-populated by the orchestrator (for example, by overwriting an auto-assigned IP address if the orchestrator supports such a feature), they must accept all responsibility for doing so by properly configuring their devices.
- Clean & Connections
tcl_clean
now supportstftpServer_unix
keysupport for
aireos
device type & connection.fix a bug where
tcl_clean
block was being checked for devices not specified under clean file.
- Easypy
supports for Graceful Termination of jobfile tasks through Ctrl-C (SIGINT interrupt).
email report now includes step details
Fixed an issue with
easypy
not setting correct folder permissions when creating/users
and/users/<id>
etc.enhanced
-xunit
support, now includes a TRADe link.fixed an issue with plugin import exceptions not being printed properly
- Installation
install script now always checks out
xbu-shared
,regression
andcisco-shared
reposinstall script now checks for your
git
binary location, and warns error if it cannot find it.install script now ignores
install.log
file and overwrites it whenever needed, making user’s life slightly easier.install script now suggests
branch.autosetuprebase always
as a global configuration, and now auto-appliespull.rebase
totrue
for all checked-out repositories.install script now uses
pip.conf
to configurepip
, and will always updatepip
andsetuptools
to latest.new
update_pip_config
script to upgrade user’s pip configurations.changing pyATS PyPI server from
ats-pypi-server.cisco.com
topyats-pypi.cisco.com
.
- Log
atslog
module is now renamed to justlog
backwards compatibility code is included in this release to notify users to make the necessary modifications.
logging is now overhauled to support the standard Cisco Log Format.
multi-part log messages now have proper tagging
fixed a bug with
logging.exception()
calls where the stack trace was being logged multiple times if the provided message is multi-line.
- Utils
refactor & standardized how YAML loading is performed throughout all modules.
support for injections into YAML loading stages
support for custom YAML markup processor subclasses & generalization
And, as usual, a plethora of potential new bugs that we are neither aware of, nor able to zap… yet.
1357 unittests and counting